代码如下:
#include<bits/stdc++.h>
using namespace std;
bool a[110][110];
int main()
{
int t;
cin>>t;//t为数据组数
for(int i=1;i<=t;i++)
{
int n,m;//n为行数,m为列数
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
char a1;
cin>>a1;
if(a1=='1')
{
a[i][j]=false;//false代表黑色
}
else a[i][j]=true;//true代表白色
}
}
bool b=false;
for(int i=1;i<=n-3&&!b;i++)
{
for(int j=1;j<=m-3&&!b;j++)
{
bool b1=true;
for(int k=i;k<=i+3;k++)
{
if(!a[k][j])
{
b1=false;
break;
}
if(!a[k][j+3])
{
b1=false;
break;
}
}
for(int k=i+1;k<=i+2&&b1;k++)
{
for(int l=j+1;l<=j+2&&b1;l++)
{
if(!a[k][l])
{
b1=false;
break;
}
}
}
for(int k=j+1;k<=j+2&&b1;k++)
{
if(a[i+1][k]||a[i+2][k])
{
b1=false;
break;
}
}
if(b1)
{
b=true;
break;
}
}
}
if(b)printf("Yes\n");
else printf("No\n");
}
}