#include #include #include #include #include #include using namespace std; int a[500+10][500+10]; int f[500+10][500+10][30]; //int temp_ans,temp_l,temp_d,sum,id_i,id_j; //void work() //{ // int k,v,l,ans,d; // ans=temp_ans; // l=temp_l; // d=temp_d; // for (k=2;k<=9;k++) // { // d+=f[id_i][id_j][k-1]; // v=(8*k*k-l)/d+((8*k*k-l)%d!=0); // ans+=v; // l+=v*d; // } // sum=max(sum,ans); //} //void all(int i) //{ // int j; // for (j=i;j<=8;j++) // { // swap(f[id_i][id_j][i],f[id_i][id_j][j]); // if (i==8) // work(); // else // all(i+1); // swap(f[id_i][id_j][i],f[id_i][id_j][j]); // } //} bool cmp1(int a,int b) { return a>b; } int main() { int t,n,x,y,ans,i,j,k,l,v,g,d; int sum; scanf("%d",&t); while (t--) { scanf("%d%d%d",&n,&x,&y); x-=1,y-=1; for (i=0;i=0) and (i+k=0) and (j+lf[i][j][l]) // swap(f[i][j][k],f[i][j][l]); sort(f[i][j]+1,f[i][j]+g+1,cmp1); k=abs(x-i)+abs(y-j); v=8/a[i][j]+(8%a[i][j]!=0); ans=k/2+(k%2!=0) +v; l=v*a[i][j]; d=a[i][j]; // temp_ans=ans; // temp_l=l; // id_i=i; // id_j=j; // temp_d=a[i][j]; // // ans=temp_ans; // l=temp_l; // d=temp_d; // printf("d=%d l=%d v=%d\n",d,l,v); for (k=2;k<=8;k++) { d+=f[i][j][k-1]; if (d>=8*k*k) { ans+=1; l+=d; } else { v=(8*k*k-l)/d+((8*k*k-l)%d!=0); ans+=v; l+=v*d; } // printf("d=%d l=%d v=%d\n",d,l,v); } // return 0; sum=min(sum,ans); // printf("%d %d %d\n",i,j,ans); } printf("%d\n",sum); } return 0; } /* 1 3 2 2 3 3 3 3 3 3 3 3 3 */