#include #include #include #include #include #include #include #include #include #include #include #include #include //#include #include #include typedef long long ll; //#pragma comment(linker, "/STACK:1024000000,1024000000") #define mm(a) memset(a,0,sizeof(a)) #define lr rt<<1 #define rr rt<<1|1 #define sync std::ios::sync_with_stdio(false);std::cin.tie(0); #define inf 0x3f3f3f3f //#define eqs 1e-8 #define lb(x) (x&(-x)) #define ch(a) (int(a-'a')+1) #define rep(i,a,b) for(int i=a;i<=b;i++) #define mkp(a,b) make_pair(a,b) using namespace std; typedef pair pii; const double pi=acos(-1); const int maxn=1010; //const ll Mod=1000000007; const ll Mod=998244353; int dp[4][25][25][25]; // 3 2 1; int a[5]; int s[505][505]; int main() { for(int d=1;d<=3;d++) { for(int i=0;i<=7;i++) { for(int j=0;j<=7;j++) { if(i+j>7) continue; for(int k=0;k<=7-i-j;k++) { if(i+j+k<3) continue; int cnt=1; a[1]=0; a[2]=0; a[3]=0; int s=0; int p=1; while(s<512) { s+=d; s+=3*a[3]+2*a[2]+a[1]; if(s>=8*p*p) { if(a[3]>t; scanf("%d",&t); while(t--) { int n,x,y; scanf("%d%d%d",&n,&x,&y); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { scanf("%d",&s[i][j]); } } int nx,ny; int mx=99999999; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { int sum=0; a[1]=0; a[2]=0; a[3]=0; for(int r=-3;r<=3;r++) { for(int c=-3;c<=3;c++) { if(abs(r)+abs(c)>3) continue; if(r==0&&c==0) continue; nx=i+r; ny=j+c; if(nx<1||nx>n||ny<1||ny>n) continue; a[s[nx][ny]]++; } } // cout<=7) a[3]=7; if(a[2]>=7-a[3]) a[2]=7-a[3]; a[1]=min(a[1],7-a[3]-a[2]); int dd=abs(x-i)+abs(y-j); sum=dd/2; if(dd%2) sum++; // sum=max(sum,1); sum+=dp[s[i][j]][a[3]][a[2]][a[1]]; // if(sum