#include<stdio.h>
#include<string.h>
int s[10][10]={0},d[10]={0},L[20]={0},R[20]={0},ans=0;
void dfs(int v,int add){
int i;
if(v==8){
if(add>ans) ans=add;
return;
}
for(i=0;i<8;i++){
if(d[i]==0 && L[v-i+10]==0 && R[v+i]==0){
d[i]=1,L[v-i+10]=1,R[v+i]=1;
dfs(v+1,add+s[v][i]);
d[i]=0,L[v-i+10]=0,R[v+i]=0;
}
}
}
int main(){
int t,i,j;
scanf("%d",&t);
while(t--){
ans=0;
for(i=0;i<8;i++)
for(j=0;j<8;j++)
scanf("%d",&s[i][j]);
dfs(0,0);
printf("%5d\n",ans);
}
}
沒有留言:
張貼留言