hpu 问题 G: KACA的二子棋

时间:2021-05-15 19:59:46

OJ目前支持C/C++、Java、Pascal语言。

问题 G: KACA的二子棋

题目描述

正在下五子棋的KACA突发奇想,能不能创造一种二子棋。

很明显如果和五子棋一样是二字连珠便算赢,那么先手便可以获胜。所以KACA便设计,不允许二子连珠,因为棋盘是有限的,所以哪一方没办法下子便判为输。

hpu 问题 G: KACA的二子棋

如图,若在中间落子,则周围都不可以再落子了

(因为必然连成两个)。

于是KACA便以这个规则与PIPA对弈,然而他发现游戏的胜负似乎与是否先手有关系,所以他想要更深一步研究一下。

输入

多组测试数据。

每一组有一行,为两个以空格隔开的数字n,m(0<n,m<100)分别代表棋盘的行数和列数。

输出

对于每一组数据,在两方都不失误的情况下,若后手方输,则输出“Bwin”,若先手方输,则输出“Ewin”。

样例输入

1 1
1 2

样例输出

Bwin
Ewin

规律题特征:

第一步: 代码一般不长,但是规律较为难找,一步步从1,2,3,,,n,慢慢模拟即可,听天由命;

第二步: 对2,3要特别敏感,logn,2的n次方,奇偶,,,,,


本题思路:规律是当n*m>1 时,谁先手谁输,n*m=1 时,先手赢;

#include<stdio.h>
int main()
{
    int m,n;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
        if(m*n==1)
           printf("Bwin\n");
        else printf("Ewin\n");
    }
    return 0;
}