码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-06-27 11:28:18      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:证明   http   int   include   scanf   地方   clu   ret   bsp   

$bzoj$:https://www.lydsy.com/JudgeOnline/problem.php?id=2463

$luogu$网址不贴了。

$emmm$,$bzojAC3rd$??

我果然是太弱了,$bzoj$才切$3$题。。

题目保证是最优策略,并且小明先走,所以如果$n \times n$为偶数,输出$Alice$。反之输出$Bob$。

经典博弈论题目啊。

证明方法:

因为我们可以把这个$n \times n$的矩阵分割成若干个$1 \times 2$的长方形方块,那么如果$n \times n$为奇数,很显然,一开始左上角放石子的地方是唯一一个没有被分割的格子。所以在这种情况下,先手必败。反之先手必胜。

证毕。

我们知道,如果$n \times n$是奇数,$n$就为奇数,如果$n \times n$是偶数,$n$也为偶数。

$code$

#include <cstdio>

int main() {
    int n;
    while(1) {
        scanf("%d", &n);
        if(!n) return 0;
        if(n&1) printf("Bob\n");
        else printf("Alice\n");
    }
}

 

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

标签:证明   http   int   include   scanf   地方   clu   ret   bsp   

原文地址:https://www.cnblogs.com/Xray-luogu/p/9232882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!