2022.11.1每日一题
  XpH90XhGRyiq 2023年11月01日 85 0

Daimayuan Online Judge-网格判断

题目描述

您将获得一个 \(n×n\) 的网格,网格中每个正方形的颜色为黑色或白色。如果满足以下所有条件,则网格是正确的:

  • 每行的黑色方块数与白色方块数相同。

  • 每列的黑色正方形数与白色方块数相同。

  • 没有行或列具有 \(3\) 个及以上相同颜色的连续正方形。

给定网格,确定它是否正确。

输入格式

第一行一个数字 \(n\)
接下来 \(n\) 行,每行包含一个长度为 \(n\) 的由字符BW组成的字符串,代表网格正方形的颜色。

输出格式

如果网格正确,请打印数字 \(1\) 在一行上。否则,请打印数字 \(0\) 在一行上。

样例输入
4
WBBW
WBWB
BWWB
BWBW
样例输出
1
数据范围

\(2≤n≤24\),且 \(n\) 是偶数。

解题思路

数据范围不大,模拟即可。分别枚举行和列,判断每一行或列中的WB个数是否相等,不相等直接输出 \(0\),程序结束。同时在判断每一行或列中的WB个数是否相等的同时,设一个变量 \(cnt\),用于记录连续个数,只要当前字符和前一个字符相同,就进行加一,大于等于 \(3\) 直接跳出循环,输出 \(0\) 即可,否则重新设置为 \(1\)

C++代码
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 30;

int n;
char g[N][N];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin >> n;
    for(int i = 1; i <= n; i ++)
        cin >> g[i] + 1;
    for(int i = 1; i <= n; i ++)
    {
        int cb = 0, cw = 0;
        int cnt = 1;
        for(int j = 1; j <= n; j ++)
        {
            if(j > 1)
            {
                if(g[i][j] == g[i][j - 1]) cnt ++;
                else cnt = 1;
            }
            if(cnt >= 3) break;

            if(g[i][j] == 'B') cb ++;
            else cw ++;
        }
        if(cb != cw || cnt >= 3)
        {
            puts("0");
            return 0;
        }
    }
    for(int i = 1; i <= n; i ++)
    {
        int cb = 0, cw = 0;
        int cnt = 1;
        for(int j = 1; j <= n; j ++)
        {
            if(j > 1)
            {
                if(g[j][i] == g[j - 1][i]) cnt ++;
                else cnt = 1;
            }
            if(cnt >= 3) break;
            
            if(g[j][i] == 'B') cb ++;
            else cw ++;
        }
        if(cb != cw || cnt >= 3)
        {
            puts("0");
            return 0;
        }
    }
    puts("1");
    return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jTMfQq5cr55P   2024年05月17日   44   0   0 算法与数据结构
  jTMfQq5cr55P   2024年05月17日   40   0   0 算法与数据结构
XpH90XhGRyiq
作者其他文章 更多