您的位置:首页 > 其它

USACO 1.4 ariprog

2012-10-31 20:49 253 查看
勉强过了……
/*
ID:zizz-zi1
LANG:C
TASK:ariprog
*/

#include <stdio.h>
int f[130000]={0};
int m,n;

int main(void)
{
FILE *fin,*fout;
fin=fopen("ariprog.in","r");
fout=fopen("ariprog.out","w");
int flag,flag2=0,a,b,i,j,max,tmp;

fscanf(fin,"%d\n%d",&n,&m);
for(i=0;i<=m;i++)
for(j=0;j<=m;j++)
f[i*i+j*j]=1;
for(i=2*m*m;i>=0;i--)
if(f[i]==1){
max=i;
break;
}

for(b=1;b<=max/(n-1);b++){
a=0;
while(a+b*n-b<=max){
flag=1;
tmp=a;
for(i=1;i<=n-1;i++){
tmp+=b;
if(f[tmp]==0){
flag=0;
break;
}
}
if(flag) {
fprintf(fout,"%d %d\n",a,b);
flag2=1;
}
a++;
while(f[a]==0) a++;
}
}
if(!flag2) fprintf(fout,"NONE\n");
fclose(fin);fclose(fout);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: