#include<bits/stdc++.h>
using namespace std;
char map1[505][505];
struct node
{
int l;int r;
int num;
}arr[505];
int main()
{
int n,m,flag;
char x;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
arr[i].num=0;
for(int j=1;j<=m;j++)
{
cin>>map1[i][j];
if(map1[i][j]=='X')
arr[i].num++;
}
}
for(int i=1;i<=n;i++)
{
flag=0;
for(int j=1;j<=m;j++)
{
if(map1[i][j]=='X'&&!flag)
{
arr[i].l=j;
flag=1;
}
else if(map1[i][j]=='.'&&flag)
{
arr[i].r=j-1;
break;
}
}
if(map1[i][m]=='X')
arr[i].r=m;
}
flag=1;
int l ,r ,i,j;
for(i=1;arr[i].num==0;i++);
for(j=n;arr[j].num==0;j--);
l=arr[i].l;r=arr[i].r;
for(int k=i;k<=j;k++)
{
if(arr[k].l!=l||arr[k].r!=r||arr[k].num!=r-l+1)
{
flag=0;
break;
}
}
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
745 B. Hongcow Solves A Puzzle codeforces
最新推荐文章于 2018-09-15 16:00:42 发布