标签:include 石头 而且 break ios using 中山市选2009 思路 pre
题目:
小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?
思路:
根据题意可知最后的胜负其实就是两人共走的步数的奇偶。
必胜的人只要一直转回形圈就行了,必败的人即使改变方向也不能影响步数的奇偶。
所以只用判断n的奇偶就行了。
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
ios::sync_with_stdio(false);
cin.tie(0);
while(1){
cin>>n;
if(!n)
break;
if(n&1)
cout<<"Bob"<<endl;
else
cout<<"Alice"<<endl;
}
return 0;
}
标签:include 石头 而且 break ios using 中山市选2009 思路 pre
原文地址:http://www.cnblogs.com/HC-LittleJian/p/7853084.html