[GESP202409 四级] 黑白方块
2025-06-26 17:31:57
发布于:上海
9阅读
0回复
0点赞
题意
解析
flowchart TD
定义二维数组 --> 输入次数t --> 遍历t --> 输入行数n和列数m --> 输入二维数组 --> 判断行数和列数是否都大于4 --> true --> 判断是否满足题目要求 --> 输出
标程
#include<bits/stdc++.h>
using namespace std;
int t,n,m,a;
char f[105][105];
int main(){
cin>>t;
for(int i=1;i<=t;i++){
a=0;//判断满不满足题目要求
cin>>n>>m;
memset(f,' ',sizeof(f));//初始化
for(int j=1;j<=n;j++){
for(int k=1;k<=m;k++){
cin>>f[j][k];//输入二维数组
}
}
if(n>=4&&m>=4){//初步判断
for(int j=1;j<=n-3;j++){//遍历二维数组
for(int k=1;k<=m-3;k++){
if(f[j][k]=='0'&&f[j][k+1]=='0'&&f[j][k+2]=='0'&&f[j][k+3]=='0'&&f[j+1][k]=='0'&&f[j+1][k+3]=='0'&&f[j+2][k]=='0'&&f[j+2][k+3]=='0'&&f[j+3][k]=='0'&&f[j+3][k+1]=='0'&&f[j+3][k+2]=='0'&&f[j+3][k+3]=='0'&&f[j+1][k+1]=='1'&&f[j+1][k+2]=='1'&&f[j+2][k+1]=='1'&&f[j+2][k+2]=='1'){//多个判断
a=1;//满足
break;
}
}
}
}
if(a==1){//输出
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个