BZOJ2463: [中山市选2009]谁能赢呢? 题解 【(?)博弈论】

来源:互联网 发布:淘宝实体店加盟条件 编辑:程序博客网 时间:2024/05/21 22:29

【题目描述】
小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?
【题解】
我们可以把这道题看做填骨牌的问题,也就是用1*2(或2*1)的牌能否填满整个N*N的图形。这个问题我们直接判断n的奇偶性就行了。
代码如下:

#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<cmath>using namespace std;int n;int main(){    while(true)    {        scanf("%d",&n);        if(n==0)break;        if(n&1)printf("Bob\n");        else printf("Alice\n");    }    return 0;}
原创粉丝点击