全 1 子矩阵
Bobo 写了一个
行
列的矩阵
.
首先,他把所有元素
(
) 设为 0.
然后,他选了
个整数
满足
,并把满足
的元素
设为 1.
给出
行
列的矩阵
, 判断它是否是 Bobo 所写的矩阵。
输入格式
输入文件包含多组数据,请处理到文件结束。
每组数据的第一行包含两个整数 和 .
接下来 行,其中第 行包含 个整数 .
至多
组数据。
输出格式
对于每组数据,如果所给矩阵是 Bobo 所写的矩阵,输出 Yes, 否则输出 No.
思路:
签到不解释
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
int a[20][20];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int flag = 1;
int x1 = n,y1 = m,x2 = 0,y2 = 0;
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= m;j++)
{
scanf("%1d",&a[i][j]);
if(a[i][j] == 1)
{
flag = 0;
x1 = min(x1,i);x2 = max(x2,i);
y1 = min(y1,j);y2 =max(y2,j);
}
}
}
for(int i = x1;i <= x2;i++)
{
for(int j = y1;j <= y2;j++)
{
if(a[i][j] != 1)
{
flag = 1;
break;
}
}
if(flag)break;
}
if(flag)printf("No\n");
else printf("Yes\n");
}
return 0;
}