首页 > 其他 > 详细

bzoj2463[中山市选2009]谁能赢呢?

时间:2016-07-30 14:48:55      阅读:232      评论:0      收藏:0      [点我收藏+]

bzoj2463[中山市选2009]谁能赢呢?

题意:

给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?

题解:

对于n*n为偶数的棋盘肯定可以用二格骨牌覆盖,这样每次先手都是走骨牌的一端而后手就可以走另一端,故后手赢。对于n*n为奇数的棋盘先手走了一步剩下的棋盘就可以被覆盖了,后手面临和之前先手面临的情况一样,故先手赢。由于奇数的平方是奇数,偶数平方是偶数,所以只要对输入判断奇偶性就行了。

代码:

1 #include <cstdio>
2 int n;
3 int main(){
4    while(1){scanf("%d",&n); if(!n)break; puts(n&1?"Bob":"Alice");}
5    return 0;
6 }

 

20160630

bzoj2463[中山市选2009]谁能赢呢?

原文:http://www.cnblogs.com/YuanZiming/p/5720786.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!