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 }
  • 相关阅读:
    日期时间基本知识
    VScode 常用操作
    js实现图片的Blob base64 ArrayBuffer 的各种转换
    window.postMessage()实现(iframe嵌套页面)跨域消息传递
    软件工程概论个人总结
    软件工程学习进度表(第十六周)
    《构建之法》阅读笔记
    软件工程学习进度表(第十五周)
    《人月神话》阅读笔记06
    《人月神话》阅读笔记05
  • 原文地址:https://www.cnblogs.com/acgoto/p/9147255.html
Copyright © 2011-2022 走看看