CodeForces 259A Little Elephant and Chess

本文介绍了一道编程题,题目要求通过旋转棋盘的行来判断能否将初始的8x8黑白格子盘调整为标准的国际象棋棋盘。文章提供了完整的C语言实现代码,并附有样例输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Little Elephant and Chess
Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u

Description

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 chessboarddoesn'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 operationmultiple 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 Input

Input
WBWBWBWB
BWBWBWBW
BWBWBWBW
BWBWBWBW
WBWBWBWB
WBWBWBWB
BWBWBWBW
WBWBWBWB
Output
YES
Input
WBWBWBWB
WBWBWBWB
BBWBWWWB
BWBWBWBW
BWBWBWBW
BWBWBWWW
BWBWBWBW
BWBWBWBW
Output
NO

Hint

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.

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main()
 4 {
 5     int i,j;
 6     char a[10][10];
 7     while(scanf("%s",a[1])!=EOF)
 8     {
 9         for(i=2;i<=8;i++)
10             scanf("%s",a[i]);
11         //for(i=1;i<=8;i++)
12             //printf("%s\n",a[i]);
13         int flg=1;
14         for(i=1;i<=8;i++)
15         {
16             if(a[i][0]==a[i][7])
17             {
18                 //printf("1 %d\n",i);
19                 flg=0;
20                 break;
21             }
22             for(j=1;j<=7;j++)
23             {
24                 if(a[i][j]==a[i][j-1])
25                 {
26                     //printf("2 %d %d\n",i,j);
27                     flg=0;
28                     break;
29                 }
30             }
31             if(flg==0)
32                 break;
33         }
34         if(flg==1)
35             printf("YES\n");
36         else
37             printf("NO\n");
38     }
39     return 0;
40 }
View Code

 

转载于:https://www.cnblogs.com/cyd308/p/4771502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值