乐山师范学院ACM集训队专题一枚举
专题一:枚举 枚举的优化: 根据题意,缩短枚举层数,或者缩短每层枚举范围。 如果有可以通过少量的局部枚举从而确定整个全部的情况,则就可以优化枚举。 例题一. Perfect Cubes 题目大意:找满足此等式的所有情况 a ∗ a ∗ a = b ∗ b ∗ b + c ∗ c ∗ c + d ∗ d ∗ d , ( n ≥ a > d ≥ c ≥ b ≥ 1 ) , ( a , b , c , d ∈ Z ) a*a*a=b*b*b+c*c*c+d*d*d,(n\ge a>d\ge c\ge b\ge1),(a,b,c,d\in Z) a ∗ a ∗ a = b ∗ b ∗ b + c ∗ c ∗ c + d ∗ d ∗ d , ( n ≥ a > d ≥ c ≥ b ≥ 1 ) , ( a , b , c , d ∈ Z ) 并以非降序的a,b,c,d来输出。 输出格式: Cube = a, Triple = (b,c,d) 代码: #include<iostream> #include<cstdio> using namespace std; int main(){ int n; cin>>n; for(int a=2;a<=n;++a){ .//缩短了每层枚举的范围,从而优化了枚举算法 for(int b=2;b<a;++b) for(int c=b;c<a;++c)