zoukankan      html  css  js  c++  java
  • NYOJ2359: 巴什博弈?

    2359: 巴什博弈?

    时间限制: 1 Sec  内存限制: 30 MB
    提交: 263  解决: 55
    [提交][状态][讨论版]

    题目描述

    有n个石子,有两人轮流从中取石子,最少a个最多b个,谁没得取(即当轮到他取是已经没有石子可以取了,也就是说此时石子数量小于a)谁赢,现在,LLM先取,问你LLM能赢吗

    输入

    每个测试样例少于100000组测试数据

    每组测试样例第一行三个整数n,a,b

    1<=a<=b,n<=100000000

    输出

    如果LLM能赢,输出YES,否则输出NO

    样例输入

    1 1 12 1 2

    样例输出

    NOYES
    思路:
    对于剩余个数小于a的,肯定是必赢得状态
    假设剩余个数在大于等于a和小于2a之间,这是必败态,后手足够聪明,每次取得和控制在a+b即可,最后先手最少取a,后手必赢
    剩余个数大于等于2a,只要第一步取剩余个数-a个即可,后面讲自己变成后手控制a+b,就能取得胜利
    源代码:
    #include <iostream>
    using namespace std;
    int main() {
    	int n,a,b;
    	while(~scanf("%d %d %d",&n,&a,&b)) {
    		int c=n%(a+b);
    		if(c>=a&&c<2*a) printf("NO\n");
    		else printf("YES\n");
    	}
    	return 0;
    }


  • 相关阅读:
    H264 RTP封包原理(转载)
    FFmpeg的H264编码有内存泄漏吗??!!!
    最近在研究FFmpeg编解码
    罗一迦
    健康导报
    Vivado生成edf文件
    VIVADO生成MCS
    网络变压器
    Zynq 在Ubuntu上搭建编译环境
    [转]TimeQuest之delay_fall clock_fall傻傻分不清楚
  • 原文地址:https://www.cnblogs.com/lemonbiscuit/p/7775959.html
Copyright © 2011-2022 走看看