weixin_42054580 2023-07-19 14:13 采纳率: 80%
浏览 52
已结题

XJOI 1-21 数组-围棋

数组-围棋

时间:1s 空间:256M

题目描述:

给你一个黑白棋盘,棋盘上有些位置已经放了黑子或者白子,现在问你,有没有一种放置方案可以用黑子或者白子放满整个棋盘,使得没有两个相邻的格点放了同色的棋子。

输入格式:
多组测试数据

每组数据

第一行输入两个整数n,m
接下来n行每行输入一个长度为m的字符串.

一共有’W’, ‘B’, ‘?’三种字符,W表示白子,B表示黑子。’?’表示还没有放子

输出格式:
如果存在一种方案,输出”Possible”

如果不存在输出”Impossible”

约定:
1<=n,m<=100

样例输入:
3 3
W?W
??B
???
3 2
W?
??
B?

样例输出:
Possible
Impossible

  • 写回答

1条回答 默认 最新

  • threenewbee 2023-07-19 14:19
    关注
    #include <iostream>
    using namespace std;
    
    int main() 
    {
        int n, m;
        cin >> n >> m;
        char a;
        int assign = 0;
        char start = 'B';
        for (int i = 0; i < n; i++)
            for (int j = 0; j < m; j++)
            {        
                cin >> a;
                if (a != '?')
                {
                    if (assign == 0)
                    {                
                        assign = 1;
                        start = (i + j) % 2 == 0 ? a : (a == 'B' ? 'W' : 'B');
                    }
                    else
                    {
                        char c = (i + j) % 2 == 0 ? start : (start == 'B' ? 'W' : 'B');
                        if (c != a)
                        {
                            cout << "Impossible" << endl;
                            return 0;
                        }
                    }
                }
            }
        cout << "Possible" << endl;
        return 0;
    }
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月19日
  • 已采纳回答 7月19日
  • 创建了问题 7月19日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上