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

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

时间:2017-12-30 15:56:14      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:type   alice   out   span   棋盘   script   奇数   div   ==   

Description

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

Solution

容易发现:如果\(n\)是偶数,那么先手只要不往回走就是必胜,\(n\)是奇数则后手必胜.

#include <iostream>
#include <cstdio>
#define RG register
#define il inline
#define iter iterator
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
using namespace std;
typedef long long ll;
int n;
void work()
{
    if(!n)return ;
    if(n%2==0)puts("Alice");
    else puts("Bob");
}

int main()
{
    freopen("pp.in","r",stdin);
    freopen("pp.out","w",stdout);
    while(~scanf("%d",&n))work();
    return 0;
}

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

标签:type   alice   out   span   棋盘   script   奇数   div   ==   

原文地址:https://www.cnblogs.com/Yuzao/p/8149892.html

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