题解 CF1106A 【Lunar New Year and Cross Counting】

2019-02-01 02:16:43


题意:给定一个字符矩阵,求矩阵中由五个 X 组成的大 X 的数量。

思路:枚举每个点,判断是否是 X 的中心点。

const int N = 500 + 5;
int n, ans = 0;
char a[N][N];

void solution() {
    n = read();
    rep(i, 1, n) scanf("%s", a[i] + 1);
    rep(i, 1, n) rep(j, 1, n) ans += (a[i][j] == a[i - 1][j - 1] && a[i][j] == a[i - 1][j + 1] && a[i][j] == a[i + 1][j - 1] && a[i][j] == a[i + 1][j + 1] && a[i][j] == 'X');
    println(ans);
}