0分全MLE:
#include<iostream>
using namespace std;
int n,m,xb[8][8],h=0;
bool fb[8][8];
int xu[9]={0,1,0,1,-1,0,-1,-1,1};
int yu[9]={0,1,1,0,-1,-1,0,1,-1};
void bhy(int x,int y){
for(int i=0;i<9;i++){
if((x+xu[i]>=1&&y+yu[i]>=1)&&(x+xu[i]<=n&&y+yu[i]<=m)){
fb[x+xu[i]][y+yu[i]]=1;
}
}
}
void dhy(int x,int y){
for(int i=0;i<9;i++){
if((x+xu[i]>=1&&y+yu[i]>=1)&&(x+xu[i]<=n&&y+yu[i]<=m)){
fb[x+xu[i]][y+yu[i]]=0;
}
}
}
void dfs(int g){
bool l=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(!fb[i][j]){
l=1;
bhy(i,j);
dfs(g+xb[i][j]);
dhy(i,j);
}
}
}
if(!l){
if(g>h){
h=g;
}
return;
}
}
int main(){
int t;
cin>>t;
for(int ti=1;ti<=t;ti++){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>xb[i][j];
fb[i][j]=0;
}
}
dfs(0);
cout<<h<<endl;
}
return 0;
}