A. Little Elephant and Chess

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

The Little Elephant loves chess very much.

One day the Little Elephant and his friend decided to play chess. They've got the chess pieces but the board is a problem. They've got an 8 × 8 checkered board, each square is painted either black or white. The Little Elephant and his friend know that a proper chessboard doesn't have any side-adjacent cells with the same color and the upper left cell is white. To play chess, they want to make the board they have a proper chessboard. For that the friends can choose any row of the board and cyclically shift the cells of the chosen row, that is, put the last (rightmost) square on the first place in the row and shift the others one position to the right. You can run the described operation multiple times (or not run it at all).

For example, if the first line of the board looks like that "BBBBBBWW" (the white cells of the line are marked with character "W", the black cells are marked with character "B"), then after one cyclic shift it will look like that "WBBBBBBW".

Help the Little Elephant and his friend to find out whether they can use any number of the described operations to turn the board they have into a proper chessboard.

Input

The input consists of exactly eight lines. Each line contains exactly eight characters "W" or "B" without any spaces: the j-th character in the i-th line stands for the color of the j-th cell of the i-th row of the elephants' board. Character "W" stands for the white color, character "B" stands for the black color.

Consider the rows of the board numbered from 1 to 8 from top to bottom, and the columns — from 1 to 8 from left to right. The given board can initially be a proper chessboard.

Output

In a single line print "YES" (without the quotes), if we can make the board a proper chessboard and "NO" (without the quotes) otherwise.

Sample test(s)
input
WBWBWBWB
BWBWBWBW
BWBWBWBW
BWBWBWBW
WBWBWBWB
WBWBWBWB
BWBWBWBW
WBWBWBWB
output
YES
input
WBWBWBWB
WBWBWBWB
BBWBWWWB
BWBWBWBW
BWBWBWBW
BWBWBWWW
BWBWBWBW
BWBWBWBW
output
NO
Note

In the first sample you should shift the following lines one position to the right: the 3-rd, the 6-th, the 7-th and the 8-th.

In the second sample there is no way you can achieve the goal.



解题说明:此题的意思很明确,就是B四周不能有B,W四周不能有W。通过观察可以发现,只要WW,BB不连续出现,总能够通过移动把棋盘变成需要的状态,第一个样例就是如此。发现了这一点,题目得到了简化,就是判断连续两个字符是否相同而已,注意这里的每一行更应该看成是环状的,要考虑首尾相接的情况,这也就是s[8]=s[0]的原因


#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;

int main()
{
	int i,j;
	int flag;
	char s[10];
	flag=false;
	for(i=0;i<8;i++)
	{
		scanf("%s",&s);
		s[8]=s[0];
		for(j=0;j<=7;j++)
		{
			if(s[j]==s[j+1])
			{
				flag=true;
				break;
			}
		}
	}
	if(flag==true)
	{
		printf("NO\n");
	}
	else
	{
		printf("YES\n");
	}
	return 0;
}


你可能感兴趣的:(A. Little Elephant and Chess)