zoukankan      html  css  js  c++  java
  • Game

    Problem description

    There is a legend in the IT City college. A student that failed to answer all questions on the game theory exam is given one more chance by his professor. The student has to play a game with the professor.

    The game is played on a square field consisting of n × n cells. Initially all cells are empty. On each turn a player chooses and paint an empty cell that has no common sides with previously painted cells. Adjacent corner of painted cells is allowed. On the next turn another player does the same, then the first one and so on. The player with no cells to paint on his turn loses.

    The professor have chosen the field size n and allowed the student to choose to be the first or the second player in the game. What should the student choose to win the game? Both players play optimally.

    Input

    The only line of the input contains one integer n (1 ≤ n ≤ 1018) — the size of the field.

    Output

    Output number 1, if the player making the first turn wins when both players play optimally, otherwise print number 2.

    Examples

    Input

    1

    Output

    1

    Input

    2

    Output

    2
    解题思路:简单的棋盘博弈问题,每位选手的走法都是最优策略,简单推导一下走法即可得出结论:当n为奇数时,先手1必赢,否则后手2必赢,水过!
    AC代码:
    1 #include<bits/stdc++.h>
    2 using namespace std;
    3 int main(){
    4     long long n;
    5     cin>>n;
    6     if(n&1)cout<<'1'<<endl;//奇数
    7     else cout<<'2'<<endl;//偶数
    8     return 0;
    9 }
  • 相关阅读:
    AD 文档信息设置和制作模板
    用AT命令调试调制解调器
    语音AT命令参考
    传真AT指令部分(参考)
    传真调制解调器
    knockout+weui+zepto
    20171028随手记
    20171027随记
    一些简单又坑人的无聊使用
    ReadWrite,日志,输入文本
  • 原文地址:https://www.cnblogs.com/acgoto/p/9147255.html
Copyright © 2011-2022 走看看