#include<stdio.h>
#include<string.h>
int A[20][20],B[20][20]={0},n;
int main(){
int t,i,j,k,x,y,ans,C=0;
scanf("%d",&t);
while(t--){
memset(B,0,sizeof(B));
scanf("%d",&n);
ans=1e8;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&A[i][j]);
for(k=0;k<(1<<n);k++){
for(x=1,y=k;x<=n;x++,y/=2)
B[1][x]=y%2;
for(i=2;i<=n;i++)
for(j=1;j<=n;j++)
B[i][j]=(B[i-1][j-1]+B[i-1][j+1]+B[i-2][j])%2;
x=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
if(A[i][j]!=B[i][j])
x++;
if(A[i][j]!=B[i][j] && A[i][j]){
x=-1;
goto go;
}
}
for(i=1;i<=n;i++){
y=(B[n-1][i]+B[n][i-1]+B[n][i+1])%2;
if(y==1) x=-1;
}
go:;
if(x>=0 && x<ans){
ans=x;
}
}
if(ans!=1e8)
printf("Case %d: %d\n",++C,ans);
else printf("Case %d: %d\n",++C,-1);
}
}
沒有留言:
張貼留言