c++全WA
#include<bits/stdc++.h>
using namespace std;
int n,m;
int t;
int a[10][10];
int vis[10][10];
int maxx;
int x[8]={0,-1,-1,-1,0,1,1,1};
int y[8]={-1,-1,0,1,1,1,0,-1};
bool judge(int r,int c){
if(r<1||r>n||c<1||c>m)return 0;
if(vis[r][c]>0)return 0;
return 1;
}
void dfs(int sum,int px,int py){
maxx=max(sum,maxx);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(judge(i,j)&&(i>=px&&j>py)){
vis[i][j]=1;
for(int k=0;k<8;k++){
vis[i+x[k]][j+y[k]]++;
}
dfs(sum+a[i][j],i,j);
for(int k=0;k<8;k++){
vis[i+x[k]][j+y[k]]--;
}
vis[i][j]=0;
}
}
}
}
int main(){
cin >> t;
for(int l=1;l<=t;l++){
maxx=1;
cin >> n >> m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin >> a[i][j];
dfs(0,0,0);
cout << maxx << endl;
}
return 0;
}