zoukankan      html  css  js  c++  java
  • JZOJ 1211. 取石子游戏

    题目

    Description

         Jby考完了高考以后,一度闷得发颠…. 无聊之际,发明了一个新的取石子游戏! 规则如下,一共有N颗石子,每次最多可以取走K颗(不能不取),最先取不到的人算输(就是说谁取完谁就赢)。 为了延长这个游戏的时间,Jby弄来了整个宇宙的石子(挺够本事的…)…
     

    Input

    输入数据存放在文本文件game.in中
    题目有T组数据
    第一行为整数T(T<=20)
    以下T行,两个整数K,N

    Output

       输出数据存放在文本文件game.out中
       先行者有必胜策略输出“Yes”,否则输出“No”

     

    Sample Input

    2
    2 3
    3 2

    Sample Output

    No
    Yes

     

    Data Constraint

     数据范围
    20%的数据  K≤10  N≤30,000,000
    50%的数据   K≤100  N≤2^31-1
    100%的数据  K≤1000  N≤10^1000

    分析

    • 显然博弈论的题 四种常见之一

    • 但是输入的n可能很大,用快读边读边%就好了

     

    代码

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 long long n,k;
     4 inline int read(){
     5     int x=0,f=1;
     6     char ch=getchar();
     7     while(ch<'0'||ch>'9'){
     8         if(ch=='-')
     9             f=-1;
    10         ch=getchar();
    11     }
    12     while(ch>='0'&&ch<='9'){
    13         x=((x<<1)+(x<<3)+(ch^48))%(k+1);
    14         ch=getchar();
    15     }
    16     return x*f;
    17 }
    18 int main ()
    19 {
    20     freopen("game.in","r",stdin);
    21     freopen("game.out","w",stdout);
    22     long long T;
    23     cin>>T;
    24     while (T)
    25     {
    26         T--;
    27         cin>>k;
    28         n=read();
    29         if (n%(k+1)==0) cout<<"No"<<endl;
    30         else cout<<"Yes"<<endl;
    31     }
    32  }
    为何要逼自己长大,去闯不该闯的荒唐
  • 相关阅读:
    启动 Appium 自带模拟器
    Android的一些常用命令提示符(cmd)指令
    Eclipse中没有andriod问题解决方法
    selenium键盘操作
    鼠标事件
    appium运行from appium import webdriver 提示most recent call last
    appium for windows 环境搭建
    python+Eclipse+pydev环境搭建
    nmon和nmon analyser的下载和使用
    Linux下使用NMON监控、分析系统性能
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/11187418.html
Copyright © 2011-2022 走看看