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

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

    Time Limit: 10 Sec  Memory Limit: 128 MB
    Submit: 729  Solved: 512
    [Submit][Status]

    Description

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

    Input

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

    Output

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

    Sample Input

    2
    0

    Sample Output

    Alice

    HINT

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

    Source

    题解:

    兰多夫87:

    水题

    当n为偶数时,可以被2*1的骨牌完全覆盖,所以每次都走骨牌的另一端,而另一个人只能走新的骨牌,直到没有为止

    当n为奇数时,去掉第一个格子后可以被2*1的骨牌完全覆盖,所以胜负反过来了

    。。。。。。

    怎么和这扯上关系了???怎么能想到???

    代码:

     1 var n:longint;
     2 begin
     3  assign(input,'input.txt');assign(output,'output.txt');
     4  reset(input);rewrite(output);
     5     read(n);
     6     while n<>0 do
     7       begin
     8         if n and 1=1 then writeln('Bob')
     9         else writeln('Alice');
    10         read(n);
    11       end;
    12  close(input);close(output);
    13 end.       
    View Code
  • 相关阅读:
    HDU 5642 King's Order 动态规划
    HDU 5640 King's Cake GCD
    HDU 5641 King's Phone 模拟
    HDU 5299 Circles Game 博弈论 暴力
    HDU 5294 Tricks Device 网络流 最短路
    HDU 5289 Assignment rmq
    HDU 5288 OO’s Sequence 水题
    星际争霸 虚空之遗 人族5BB 操作流程
    Codeforces Beta Round #3 D. Least Cost Bracket Sequence 优先队列
    Codeforces Beta Round #3 C. Tic-tac-toe 模拟题
  • 原文地址:https://www.cnblogs.com/zyfzyf/p/3910319.html
Copyright © 2011-2022 走看看