首页 > 其他 > 详细

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

时间:2017-12-30 15:23:07      阅读:203      评论:0      收藏:0      [点我收藏+]

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]谁能赢呢?

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!