【DidaOJ】80-KACA的二子棋

文章字数:343

问题描述

问题分析

与很多博弈论的先手优势不同,规则描述的二子棋事实上自己的每一步都是在给自己制造障碍。

随着自己制造的障碍越来越多,最后一定就会导致无法下棋。

由于棋盘的对称性,先制造障碍的一方最终一定难以取胜,因为在理想情况下对方一定能先一步把自己堵上。

对于1*3棋盘的情况:先手下中间没有用,后手方可以任选一边就导致先手方无法落子。即使先手方下在一边,后手方对称地下棋即可把先手方堵住。

对于1*4棋盘的情况也类似,无论先手方怎么下,后手方只需要对称的去处理,那么最终先手方都会无法落子。

分析各种情况可知,只要棋盘超过1格,先手方无论如何都无法取胜。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include <iostream>

int main()
{
    int n, m;
    while (std::cin >> n >> m)
    {
        std::cout << (n == 1 && m == 1 ? "Bwin" : "Ewin") << std::endl;
    }
    return 0;
}

题目地址:【DidaOJ】[80]KACA的二子棋

加载中...