zoukankan      html  css  js  c++  java
  • bzoj 2463: [中山市选2009]谁能赢呢?

    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;
    }
    
    
  • 相关阅读:
    JZOJ5809 数羊
    P3313 [SDOI2014]旅行
    2019.10.22 NOIP模拟测试 day2
    P4322 [JSOI2016]最佳团体
    P1850 换教室
    P3225 [HNOI2012]矿场搭建
    P2607 [ZJOI2008]骑士
    2019.10.21 NOIP模拟测试 day1
    AFO
    禁止加载浏览器图片
  • 原文地址:https://www.cnblogs.com/Yuzao/p/8149892.html
Copyright © 2011-2022 走看看