nyoj-1078 汉诺塔(四)
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
int T,n,m,i,j,k,t,flag;
scanf("%d",&T);
while(T--){
scanf("%d",&m);
int a[m];
memset(a,0,sizeof(a));
for(i=0;;i++){
if(a[0]==0)
a[0]=i;
else{
for(j=0;j<m;j++){
flag=0;
if(a[j]!=0){
if(sqrt(a[j]+i)*sqrt(a[j]+i)==(a[j]+i)){
a[j]=i;
flag=1;
break;
}
}
else{
a[j]=i;
flag=1;
break;
}
}
if(!flag){
printf("%d\n",i-1);
break;
}
}
}
}
return 0;
}

浙公网安备 33010602011771号