http://www.lydsy.com/JudgeOnline/problem.php?id=2463

好神的证明!

首先对于n是偶数,一定能被1*2的骨牌覆盖!所以从起点开始,先手一定走的是骨牌的另一端,后手一定走的是骨牌的前一端,因此无论何时,先手总是可以走。因此先手必胜。

如果n是奇数,那么去掉一格后一定能被1*2的骨牌覆盖,但是先手从左上角走,就进入了这个S态(必胜态),那么和上边的分析一样了,因此先手必败。

然后就是水题。。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <iostream>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
using namespace std;
typedef long long ll;
#define rep(i, n) for(int i=0; i<(n); ++i)
#define for1(i,a,n) for(int i=(a);i<=(n);++i)
#define for2(i,a,n) for(int i=(a);i<(n);++i)
#define for3(i,a,n) for(int i=(a);i>=(n);--i)
#define for4(i,a,n) for(int i=(a);i>(n);--i)
#define CC(i,a) memset(i,a,sizeof(i))
#define read(a) a=getint()
#define print(a) printf("%d", a)
#define dbg(x) cout << (#x) << " = " << (x) << endl
#define error(x) (!(x)?puts("error"):0)
#define rdm(x, i) for(int i=ihead[x]; i; i=e[i].next)
inline const int getint() { int r=0, k=1; char c=getchar(); for(; c<'0'||c>'9'; c=getchar()) if(c=='-') k=-1; for(; c>='0'&&c<='9'; c=getchar()) r=r*10+c-'0'; return k*r; } int main() {
int n;
while(read(n), n) n&1?puts("Bob"):puts("Alice");
return 0;
}

  


Description

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

Input

    输入文件有多组数据。
    输入第一行包含一个整数n,表示棋盘的规模。
    当输入n为0时,表示输入结束。
 

Output

对于每组数据,如果小明最后能赢,则输出”Alice”, 否则输出”Bob”, 每一组答案独占一行。

Sample Input

2
0

Sample Output

Alice

HINT

对于所有的数据,保证1<=n<=10000。

Source

 

最新文章

  1. asp.net MVC之 自定义过滤器(Filter) - shuaixf
  2. ALTER 语句修改数据表
  3. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
  4. python之super()函数
  5. poj 3273 Monthly Expense (二分搜索,最小化最大值)
  6. Oracle数据库插入数据出错:ORA-06550
  7. keepalived结合nginx实现nginx高可用
  8. python脚本,计算起点终点高程
  9. mybatis 参数格式异常-- Error querying database. Cause: java.lang.NumberFormatException: For input string
  10. RTF文件格式
  11. CentOS7 启动中文输入法
  12. Redis消息通知(任务队列和发布订阅模式)
  13. Asp.net core 学习笔记 (Excel 读写)
  14. Release Notes for XE5
  15. canvas画的时钟
  16. vsphere脚本等
  17. 【Unity】7.2 鼠标输入
  18. Spring Security安全以及单点登录
  19. 【Log】logback的配置和使用(一)
  20. webpack快速入门——CSS进阶,Less文件的打包和分离

热门文章

  1. Shortcut key for CodeBlocks
  2. BZOJ 1452 [JSOI2009] Count
  3. 【Docker】来自官方映像的 6 个 Dockerfile 技巧
  4. springMVC 上传文件
  5. com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。
  6. 正则表达式里&quot;-&quot;中划线的使用注意
  7. Java中泛型在集合框架中的应用
  8. 13.python笔记之pyyaml模块
  9. mongoose学习笔记3--简单查询1
  10. 教官的游戏(codevs 2793)