题意翻译
根据一项新的ISO标准,每一个国家的国旗应该是一个n×m的格子场,其中每个格子最多有10种不同的颜色。并且国旗应该有条纹:旗帜的每一行应包含相同颜色的方块,相邻的行的颜色应该是不同的。Berland政府要求你找出他们的国旗是否符合新的ISO标准。
输入格式:
输入的第一行包含数n和m( ( 1<=n,m<=100 ),其中n为行数,m为列数。接下来
是对旗的描述:以下N行中的每一行包含m个字符。每个字符是0到9之间的数字,代表相应正方形的颜色。
输出格式:
如果国旗符合标准就输出YES,否则输出NO。
输入输出样例
输入样例#1
3 3 000 111 222
输出样例#1
YES
输入样例#2
3 3 000 000 111
输出样例#2
NO
输入样例#3
3 3 000 111 002
输出样例#3
NO
思路
不想写了,看代码吧。
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
string str[101];
int n,m;
int PosX(int a)
{
int i;
for(i=1;i<m;i++)
{
if(str[a][i]!=str[a][i-1])
return 0;
}
return 1;
}
int main()
{
ios::sync_with_stdio(false);
int i;
cin>>n>>m;
for(i=1;i<=n;i++)
cin>>str[i];
if(!PosX(1))
{
cout<<"NO"<<endl;
return 0;
}
for(i=2;i<=n;i++)
{
if(!PosX(i))
{
cout<<"NO"<<endl;
return 0;
}
if(str[i]==str[i-1])
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
return 0;
}