BZOJ3609 Heoi2014 人人尽说江南好


Description

小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏。
在过去,人们是要边玩游戏边填词的,比如这首《菩萨蛮》就是当年韦庄在玩游戏时填 的:
人 人 尽 说 江 南 好, 游 人 只 合 江 南 老。
然而我们今天不太关心人们填的词是什么,我们只关心小 Z 那时玩过的游戏。游戏的规 则是这样的,给定 N 堆石子,每堆石子一开始只有 1 个。小 Z 和他的小伙伴轮流操作, 小 Z 先行操作。操作可以将任意两堆石子合并成为一堆,当谁不再能操作的时候,谁就输掉了。 不过,当一堆石子堆的太高时可能发生危险,因此小 Z 和他的小伙伴规定,任何时刻任意一 堆石子的数量不能超过 m。即假如现在有两堆石子分别有 a 个和 b 个,而且 a+b>m,那么这 两堆石子就不能合成一堆。
小 Z 和他的小伙伴都是很聪明的,所以他们总是会选择对自己最有利的策略。现在小 Z 想要知道,在这种情况下,对于一个给定的 n 和 m,到底是谁能够获得胜利呢?

Input

本题包括多组数据 数据第一行为一个数 T,为数据组数以下 T 行,每行两个正整数 n,m

Output

输出 T 行,每行为 0 或 1,如果为 0 意为小 Z(即先手)会取得胜利,为 1 则为后手会 取得胜利。

Sample Input

5
7 3
1 5
4 3
6 1
2 2

Sample Output

1
1
1
1
0

HINT

100%的数据, n,m<=1000000000, T<=100


只需要明白可能获胜的一方一定会想方设法把最后的状态变成nm\frac{n}{m}mn​个mmm和n%mn\%mn%m就好了,事实证明这样的情况是一定成立的,所以我们直接统计最后的块数然后计算需要操作的次数就好了


#include<bits/stdc++.h>
using namespace std;
void solve(){int n,m;scanf("%d%d",&n,&m);int t=n-n/m;if(n%m)t++;if(t&1)printf("0\n");else printf("1\n");
}
int main(){int T;scanf("%d",&T);while(T--)solve();return 0;
}

BZOJ3609 Heoi2014 人人尽说江南好【推理+结论】相关推荐

  1. [BZOJ3609][Heoi2014]人人尽说江南好 结论题

    Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家), 最近他 想起了小时候在江南玩过的一个游戏.  在过去,人们是要边玩游 ...

  2. BZOJ3609 [Heoi2014]人人尽说江南好 【博弈】

    题目链接 BZOJ3609 题解 我们假设最后合成若干个\(m\),和\(n \mod m\),此时合成次数是最多的,也唯一确定胜利者 可以发现,在轮流操作的情况下,胜利者一定可以将终态变为这个状态 ...

  3. bzoj3609 [Heoi2014]人人尽说江南好 博弈

    表示 并不会打表,太久没有做博弈题了. 好像也不是很难的样子,就是加了个限制= = 那我最后最少要有n/m堆,那么前面的几堆都是满的,唯一不是满的的那一堆的数量是n%m. 然后我们模拟最后那一步是谁走 ...

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

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

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

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

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

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

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

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

  8. P4101 [HEOI2014]人人尽说江南好

    P4101题解 第一次写博客,用的不太好~ 看了好多大佬的题解,发现有的地方想不通,研究了一下,完善了证明过程. 题目描述 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Pla ...

  9. 【BZOJ3609】人人尽说江南好,博弈

    传送门 思路: 蒟蒻不会数学分析,只会暴力打表找规律 找了一节多课-- 然后就发现它们是按照m长度循环的,而且在m为偶数时要取反 好像说不太清楚-- 反正能A的代码就是好代码 代码: #include ...

最新文章

  1. SQL——将表中的最大ID+1插入新的ID中------Insert into 表 MAX(表id) +1
  2. idea中修改项目代码后,Git没有提示代码有改动(解决办法)
  3. 生成和合入patch的两种方式
  4. gradle构建多模块项目_Gradle入门:创建多项目构建
  5. Day-6:创建计算字段
  6. SpringBoot实战教程(3)| 整合Thymeleaf
  7. 将coco数据集转为voc格式代码
  8. Apache Flink 误用之痛
  9. 把collections.Counter的计数结果转为pandas的DataFrame
  10. 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求...
  11. 牛逼!用文言文来编程,97 年 CMU 本科生火遍全网!
  12. 一个实验了解什么是ISIS
  13. 使用 Amazon Personalize 快速搭建推荐服务
  14. 《7天精通直播带货》运营型主播成长型,提升直播能力与技巧
  15. PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION(PGGAN)
  16. Patching OIM 11.1.1.5.0 to 11.1.1.5.3
  17. 【机器视觉】OpenCV-Python 图像的噪声处理
  18. FFmpeg命令行实践二
  19. Beosin成都链安态势感知安全预警:游戏项目方需注意随机数安全,警惕薅羊毛攻击...
  20. ORA-12170:TNS:Connect timeout occurred

热门文章

  1. Long和long类型比较大小
  2. 安卓开发之SearchView的实践使用
  3. 红黑树的定义与运用场景
  4. 使用java图形界面实现简单的数据库增删查改
  5. 如何吸引客户到您的店铺
  6. DBC2000DB Commander 2000 PRO 升级记录
  7. 开一间汤粉店能挣多少钱?
  8. java时间戳计算_java 时间戳 、时间差计算(秒、分钟、小时、天数、月份、年)...
  9. 分布式锁以及redis主从结构锁失效问题
  10. 【跃迁之路】【694天】程序员高效学习方法论探索系列(实验阶段451-2019.1.14)...