标签: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