zoukankan      html  css  js  c++  java
  • 牛客小白月赛16 A 小石的签到题 ( 博弈)

    链接:https://ac.nowcoder.com/acm/contest/949/A
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 262144K,其他语言524288K
    64bit IO Format: %lld

    题目描述

    小石和小阳玩游戏,一共有 nn 个数,分别为 1n1∼n 。两人轮流取数,小石先手。对于每轮取数,都必须选择剩下数中的任意一个数 xx,
    同时还要取走 x,x/2,x/2⌋/2… 如果某个数不存在,就停止取数(不能一个数都不取)。谁取走最后一个数,谁就输了. 小
    石想知道自己能否获胜。 如果小石能赢,输出 “Shi”,否则输出 "Yang”(均不输出引号)。

    输入描述:

    共一行,输入一个数 nn 。

    输出描述:

    共一行,输出 "Shi""Yang"(不输出引号)。
    示例1

    输入

    1

    输出

    Yang

    说明

    小石只能取走 11,小阳赢。
    示例2

    输入

    2

    输出

    Shi

    说明

    若小石取走 11,则小阳只能取走 22,小石赢。

    备注:

    1n1e9

    思路:博弈论问题,因为是小石先手,所以1绝对会被小石拿走并且会是在第一轮被拿走,假设n > 1,并且小石输,那么对于所有小石会输的情况第一轮小石
    如果拿1就相当于变成了小阳先手,小阳就会输,所以除了n = 1之外小阳必输,小石必赢

    代码:
     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 int n;
     6 
     7 int main()
     8 {
     9     cin >> n;
    10     if(n == 1)  cout << "Yang";
    11     else cout << "Shi";
    12     return 0;
    13 }
     
  • 相关阅读:
    java generic type
    android avoiding-memory-leaks
    a various of context
    LruCache
    Java Reference
    SQL join
    Eclipse java中一个工程引用另一个工程的类
    java 匿名内部类的方法参数需要final吗?
    java的final
    如何将每一条记录放入到对应的范围中
  • 原文地址:https://www.cnblogs.com/chuyds/p/11209453.html
Copyright © 2011-2022 走看看