题目链接:http://ccpc.ahu.edu.cn:8000/OJ/Problem.aspx?id=667
题目描述:
Description
在一个8×8的宫格图中,每个格子要么是白色,要么是黑色,且相邻的两个格子的颜色一定不同;已知左上角(1,1)的格子的颜色为白色。现给出用字符描述的该图G,如果有G(i,j)='F',则说明从上向下数的第i行(从1开始数),从左向右数的第j行(从1开始数)交叉的格子被占领,否则这个格子是空的,未被占领。
求出被占领的白格子数量。
Input
单组数据
一个8×8的地图,具体参考输入样例。
Output
一个整数:被占领的白格子数量。
Sample Input
Original | Transformed |
........
..F.....
.....F..
.....F..
........
........
.......F
.F......
Sample Output
Original | Transformed |
2
题目分析:
题目本身不难,很容易得到白房子出于(i,j),其中i,j均为奇数或者均为偶数,但是由于这一题是考察字符串的题目,所以如果用%c会出现wa,这里我们采用一行一行的输入
AC代码:
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
char ch,s[9][9];
int sum;
int main()
{
sum=0;
for(int i=1;i<=8;i++)
{
scanf("%s",&s[i][1]);
for(int j=1;j<=8;j++)
{
if(s[i][j]=='F'&&((i%2==1&&j%2==1)||(i%2==0&&j%2==0)))
{
sum++;
}
}
}
printf("%d\n",sum);
}