【USACO 1.4】Arithmetic Progressions
2016-09-28 14:44
302 查看
/* TASK: ariprog LANG:C++ URL:http://train.usaco.org/usacoprob2?a=PA9lOcZrdWq&S=ariprog SOLVE:平方和最大为m*m*2,因此bq数组标记数i是否为平方和数,num数组存第i个平方和数 枚举公差q,从1到num[tol]/(n-1),枚举起点p,从num[1]到num[tol-1] 判断数p+i*q是否为平方和数 */ #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #define ll long long using namespace std; bool bq[200000]; int n,m,tol,found; int p,q; int num[200000]; int main() { freopen("ariprog.in","r",stdin); freopen("ariprog.out","w",stdout); scanf("%d%d",&n,&m); int cnt=0; for(int i=0;i<=m;i++) for(int j=i;j<=m;j++) bq[i*i+j*j]=1; for(int i=0;i<=m*m*2;i++) if(bq[i])num[++tol]=i; //printf("%d %d\n",tol,num[tol]); int up=num[tol]/(n-1); // printf("%d\n",up); for(q=1;q<=up;q++){ for(int i=1;i<tol;i++){ p=num[i]; int ok=1; for(int j=1;j<n&&ok;j++) if(bq[p+j*q]==0)ok=0; if(ok){ printf("%d %d\n",p,q); found=1; } } } if(!found)puts("NONE"); return 0; }
相关文章推荐
- USACO 1.4 Arithmetic Progressions
- USACO: Section 1.4 -- PROB Arithmetic Progressions
- USACOTrainning.Arithmetic Progressions
- usaco Arithmetic Progressions(看了题解)
- usaco Arithmetic Progressions
- Arithmetic Progressions chapter 1.4
- usaco Arithmetic Progressions individual report
- usaco Arithmetic Progressions
- USACO Arithmetic Progressions
- USACO-Section1.4 Ski Course Design (枚举)
- 1.4.1 Arithmetic Progressions
- POJ 3006(Dirichlet's Theorem on Arithmetic Progressions T) 素数判定入门 Java
- usaco 1.4 Packing Rectangles(枚举模拟 含结构体排序)and poj 1169
- C++——USACO Section 1.4 题解
- Arithmetic Progressions
- USACO-cha1-sec1.4 Packing Rectangles
- Dirichlet's Theorem on Arithmetic Progressions--POJ 3006
- O - Dirichlet's Theorem on Arithmetic Progressions
- [usaco]1.4 Mother’s Milk
- USACO 1.4 Mother's Milk___dfs