`
阿尔萨斯
  • 浏览: 4165607 次
社区版块
存档分类
最新评论

Codeforces 462A Appleman and Easy Task(水题)

 
阅读更多

题目链接:Codeforces 462A Appleman and Easy Task

题目大意:给定一个图,判断每个位置的周围存在的'o'是否为偶数个。

解题思路:水题,遍历一遍即可。

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int maxn = 105;
const int dir[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}};

int N;
char g[maxn][maxn];

int check (int x, int y) {
    int ret = 0;
    for (int i = 0; i < 4; i++) {
        int p = x + dir[i][0];
        int q = y + dir[i][1];

        if (p < 0 || p >= N || q < 0 || q >= N)
            continue;
        if (g[p][q] == 'x')
            continue;
        ret++;
    }
    return ret;
}

bool judge () {
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++)
            if (check(i, j) & 1)
                return false;
    }
    return true;
}

int main () {
    scanf("%d", &N);
    for (int i = 0; i < N; i++)
        scanf("%s", g[i]);

    printf("%s\n", judge() ? "YES" : "NO");
    return 0;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics