zoukankan      html  css  js  c++  java
  • 「CJOJ2721」取石块儿

    Description


    小L和小T进行取石块儿游戏,给定一个整数n表示石块儿总数,给定一个整数k表示每次最多能拿走的石块儿数量,小L先手,每次能拿走1~k个石块儿,他们中总会有一个人最后拿走s块儿石块儿,使得剩余石块儿数量为0,则最后一个拿走剩下石块儿的人获胜,另外一个人失败。小T非常聪明,小L绝顶(秃子(逃))聪明,请判断小T是否能取胜。

    Input


    第一行一个整数T表示数据组数,接下来T行每行两个整数n,k意义为描述所给。

    Output


    对于每组数据,输出"YES"或者"NO"(不带引号),代表小T是否能够获胜。

    Sample Input


    2
    2 1
    10 4

    Sample Output


    YES
    YES

    Hint


    数据范围:
    对于10%的数据,(1≤k≤n≤5)
    对于另外10%的数据,(k=1,1≤n≤10000)
    对于另外20%的数据,(1≤k≤n≤1000,T≤10)
    对于另外40%的数据,(1≤k≤n≤unsigned int)
    对于全部的测试数据,(1≤k≤n≤unsigned long long,1≤T≤1000000)

    题解


    其实这道题目是一道小学奥数题,十分简单的博弈论(电脑都不需要打表),发现如果想赢,你必须要先下到(k+1)的位置,然后以此类推,就可以做出来了。

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<iostream>
    using namespace std;
    int main(){
    	unsigned long long n,k;int T;
    	scanf("%d",&T);
    	while(T--){
    		scanf("%lld%lld",&n,&k);
    		if(n%(k+1))puts("NO");
    		else puts("YES");
    	}
    	return 0;
    }
    
  • 相关阅读:
    min25筛
    ngnix安装
    Sublime Text 添加到右键菜单 带菜单图标
    临界区与竟态条件
    cscope 支持C++项目
    内网信息收集
    域权限维持-Hook PasswordChangeNotify
    域权限维持-SID History
    域权限维持-DSRM
    ZooKeeper
  • 原文地址:https://www.cnblogs.com/cjgjh/p/9354925.html
Copyright © 2011-2022 走看看