但感觉没问题qwq
#include <bits/stdc++.h>
using namespace std;
const int Maxn = 6 + 3;
int Num[Maxn][Maxn];
bool Vis[Maxn][Maxn];
int N,M;
int Sum;
int Con[21];
void Mum()
{
for(int i = 1;i <= N;i++)
{
for(int j = 1;j <= M;j++)
{
Vis[i][j] = false;
}
}
}
void DFS(int X,int Y)
{
if(X < 1 || X > N || Y < 1 || Y > M)
{
return ;
}
Sum += Num[X][Y];
for(int i = -1;i <= 1;i++)
{
for(int j = -1;j <= 1;j++)
{
int UX = X + i,UY = Y + j;
if(UX < 1 || UX > N || UY < 1 || UY > M)
{
continue;
}
Vis[UX][UY] = true;
}
}
for(int i = 1;i <= N;i++)
{
for(int j = 1;j <= M;j++)
{
if(!Vis[i][j])
{
DFS(i,j);
}
}
}
}
int main()
{
int T;
int Number = 0;
cin >> T;
for(int u = 0;u < T;u++)
{
int Cont = -1;
cin >> N >> M;
for(int i = 1;i <= N;i++)
{
for(int j = 1;j <= M;j++)
{
cin >> Num[i][j];
}
}
for(int i = 1;i <= N;i++)
{
for(int j = 1;j <= M;j++)
{
Sum = 0;
Mum();
DFS(i,j);
Cont = max(Sum,Cont);
}
}
Con[Number] = Cont;
Number++;
}
for(int i = 0;i < Number;i++)
{
cout << Con[i] << endl;
}
}