人人尽说江南好

传送门:[HEOI2014]人人尽说江南好
先放词:

菩萨蛮 韦庄
人人尽说江南好,游子只合江南老,青水碧于天,画船听雨眠。
垆边人似月,皓腕凝霜雪,未老莫还乡,还乡须断肠。

题目分析:
第一眼看上去,貌似很难

但是如果再仔细看一下,就会发现…
还是很难

不过只要你认真思考这个题,你就会发现…
已经过去半个小时了,还是一点头绪都没有


首先我们要知道一个道理:

如果再一局中操作偶数次后无法操作,则先手获胜。反之,后手获胜。

在无法操作时,场上的局面一定是 m,m,m⋅⋅⋅m,(n%m)m,m,m···m,(n\%m)m,m,m⋅⋅⋅m,(n%m)

有 n÷mn÷mn÷m 堆 “ mmm ”

当 n%m=0n\%m=0n%m=0 时,共有 n÷mn÷mn÷m 堆,操作了 n−n÷mn-n÷mn−n÷m 次

当 n%m≠0n\%m≠0n%m​=0 时,共有 n÷m+1n÷m+1n÷m+1 堆,操作了 n−(n÷m+1)n-(n÷m+1)n−(n÷m+1) 次

判断次数奇偶即可

特殊情况: 当 m==1m==1m==1 时,后手获胜

Code:

#include<bits/stdc++.h>
using namespace std;
inline int Read(){int dx=0,fh=1;char c=getchar();while(c>'9'||c<'0'){if(c=='-')    fh=-1;c=getchar();}while(c>='0'&&c<='9'){dx=dx*10+c-'0';c=getchar();}return dx*fh;
}
int m,n,T;
int main(){T=Read();while(--T>=0){n=Read(),m=Read();if(m==1)   printf("1\n");else    if(n%m) printf("%d\n",((n-n/m)%2));else   printf("%d\n",((n-n/m-1)%2));}return 0;
}

反思与总结:

  • 要分析题中的特殊情况
  • 通过分析最初的局面与最后的局面来分析步数

人人尽说江南好 题解 [博弈论]相关推荐

  1. 【BZOJ3609】人人尽说江南好(博弈论)

    [BZOJ3609]人人尽说江南好(博弈论) 题面 BZOJ 洛谷 题解 昨天考试的时候,毒瘤出题人出了一个\(noip\)博弈十合一然后他就被阿鲁巴了,因为画面残忍,就不再展开. 这题是他的十合一中 ...

  2. 题解:HEOI2014 人人尽说江南好 【博弈论】

    作为一个文科学不好的喜欢文科的假的理科生,我是被标题骗进来的 这个题目看完之后很容易的就能看出来这是个博弈论,对于博弈论其实我什么都不会,但是这个题目水啊 不管怎么取,石子的最终分布一定是:m,m,m ...

  3. 博弈论——P4101 人人尽说江南好

    博弈论--P4101人人尽说江南好 题目 算法分析 Code 反思与总结 对博弈论还不是那么明白的小伙伴请先阅读 这篇文章 题目 Luogu: P4101 [HEOI2014]人人尽说江南好 游戏的规 ...

  4. 【博弈论/思维题】人人尽说江南好

    选自HEOI2014 BZOJ 3609: [Heoi2014]人人尽说江南好 因为游戏规定,首先无法合并的一方判输, 每人都会使用最优策略, 那么贪心的想, 最优合并方案最后石子排布情况一定为m, ...

  5. bzoj 3609: [Heoi2014]人人尽说江南好(博弈)

    3609: [Heoi2014]人人尽说江南好 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 567  Solved: 407 [Submit][S ...

  6. BZOJ 3609: [Heoi2014]人人尽说江南好

    3609: [Heoi2014]人人尽说江南好 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 474  Solved: 340 [Submit][S ...

  7. P4101 人人尽说江南好

    题目链接:P4101 人人尽说江南好 算法分析 无论怎么操作,最终合并的次数为奇数,则先手胜,否则先手败.先假设一种合并方案,双方尽量合并成mmm,然后再从1开始合并.这样总共的合并次数为:cnt=n ...

  8. BZOJ3609 Heoi2014 人人尽说江南好【推理+结论】

    BZOJ3609 Heoi2014 人人尽说江南好 Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时 ...

  9. [HEOI2014] 人人尽说江南好

    [HEOI2014] 人人尽说江南好 题目大意:一个博弈游戏,地上\(n\)堆石子,每堆石子有\(1\)个,每次可以合并任意两个石子堆\(a,b\),要求\(a + b \leq m\),问先手赢还是 ...

最新文章

  1. 【ACM】杭电OJ 2028
  2. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem G. k-palindrome dp
  3. 关于征集2020重大科学问题和工程技术难题的通知
  4. 三极管的发射极与集电极之间的关系
  5. ASP.NET MVC
  6. 理解PHP的四大概念对网站开发至关重要
  7. ase加密放linux报错_Linux应用安装有福啦!和苹果Mac一样方便的单文件安装
  8. C++之undefined reference to “ssl::first::first()“
  9. linux : 各个发行版中修改python27默认编码为utf-8
  10. mosquitto源码分析(五)
  11. 《Java技术》第七次作业计科1501赵健宇
  12. 红linux系统,红帽linux系统官方下载-红帽linux系统32位v9.0 完整版 - 极光下载站
  13. matlab 股票分时图_利用Matlab读取股市数据
  14. 今夜酒店特价:订得早,不如订得好
  15. 2019年11月计算机语言排名,2019年11月PYPL编程语言排行榜出炉
  16. WIFI限制敏感网页_秒杀同类“付费投屏”软件,完全免费无限制
  17. 网站排名不好的解决方法
  18. JVM垃圾回收——G1垃圾收集器
  19. 商品规格常用的规格排列组合算法
  20. 惊闻|万盈:玩一元斗地主 引争执出人命 派出所介入调查

热门文章

  1. 和大家聊聊什么是小程序?
  2. SSH连服务器时,连接不上,出现以下错误的原因与解决办法
  3. Navicat连接Linux服务器的mysql出现连接不上的问题
  4. modem 2G/3G/4G/5G:非诚勿扰!PLMN(啥?Piao.Liang.Mei.Nv...?)这么多,看移动终端该如何选择?
  5. android glide加载webp动画设置播放动画次数和监听动画播放完成
  6. VUE实现调用摄像头和拍照功能
  7. Semaphore 是什么?怎么用?
  8. 自己的亲生经历谈:人生如戏这句话
  9. java计算机毕业设计宿迁学院学生设计作品交流网站源代码+数据库+系统+lw文档
  10. matlab 对mnist手写数字数据集进行判决分析_Python神经网络编程:手写数字的数据集MNIST...