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


7 3 
1 5
4 3
6 1
2 2

Sample Output

1
1
1
1
0

HINT

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

Solution

结论题

容易猜到最后的石头一定是$n$堆$m$个的石头,还有一堆$n%m$的石头(如果可以整除就没有这堆)

然后把$m$个石头合并成$1$个石头,需要合并$m-1$次,所以总的合并次数就是$$n/m*(m-1)+(n%m)-1$$

但是如果可以正好分成$m$堆那就得$+1$回去

然后最后得到的合并次数如果是奇数那就后手出,如果是偶数就先手出

#include <bits/stdc++.h>

using namespace std ;

#define ll long long
ll t , n , m ; int main() {
scanf( "%lld" , &t ) ;
while( t -- ) {
scanf( "%lld%lld" , &n , &m ) ;
ll x = 1ll * n / m * ( m - ) + n % m + !( n % m ) - ;
x % ? puts( "" ) : puts( "" ) ;
}
return ;
}

[BZOJ3609][Heoi2014]人人尽说江南好 结论题的更多相关文章

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

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

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

    [Heoi2014]人人尽说江南好 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 581  Solved: 420[Submit][Status][D ...

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

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

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

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

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

    3609: [Heoi2014]人人尽说江南好 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 470  Solved: 336[Submit][Sta ...

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

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

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

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

  8. 【bzoj3609】[Heoi2014]人人尽说江南好

    可以算出合并多少次. #include<algorithm> #include<iostream> #include<cstdlib> #include<cs ...

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

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

随机推荐

  1. python中执行shell命令行read结果

    +++++++++++++++++++++++++++++ python执行shell命令1 os.system 可以返回运行shell命令状态,同时会在终端输出运行结果 例如 ipython中运行如 ...

  2. spring boot 中用@value给static变量赋值

    需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量. @value("${redis.host}") private static String redisHos ...

  3. 蒙特卡罗(Monte Carlo)方法简介

    蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法. 二 解决问题的基本思路 Monte Carlo方法的基本思想很早以前就被人们所发 ...

  4. 树莓派3B新版raspbian系统换国内源

    树莓派新版系统更换了专门优化过的桌面环境PIXEL,正好手头有个闲置的TF卡决定刷上新版系统玩玩.下载刷系统过程很多教程页很简单.插卡,上电开机,释放卡上的剩余空间都很正常,因为树莓派官方源访问很慢下 ...

  5. jquery 的each函数

    each函数经常用到.它本身就是一个循环遍历 你可以可以break continue 但这是在for while循环中 each中我们可以这样 下面的例子是遍历 MyTable中所有的tr 第一个td ...

  6. 搭建私有npm私库(使用verdaccio)

    搭建 npm 离线服务器 为什么要搭建npm 服务器 原因: 公司内部开发的私有包,统一管理,方便开发和使用 安全性,由于公司内部开发的模块和一些内容并不希望其他无关人员能够看到,但是又希望内部能方便 ...

  7. Bootstrap学习笔记-栅格系统

    栅格系统的原理就是在这个界面中这个栅格被分成12个格子,你根据自己的想要的布局就把这个界面分割成你想要的部分就行了.一般如果我们用电脑作为显示器的我们用的样式是col-md 如果你用的显示期变小的情况 ...

  8. keras中TimeDistributed

    TimeDistributed这个层还是比较难理解的.事实上通过这个层我们可以实现从二维像三维的过渡,甚至通过这个层的包装,我们可以实现图像分类视频分类的转化. 考虑一批32个样本,其中每个样本是一个 ...

  9. BP神经网络原理详解

    转自博客园@编程De: http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.html  http://blog.sina.com.cn/s/blog ...

  10. Geometry

    uva1473 这题说的是 在空间中给了n个点 然后用体积最小的圆锥将这些点包含在内可以在表面上, 将这些点 映射到xoz平面上然后,然后枚举每个上凸包的边和每个点的极值进行判断求得最小的体积 我们会 ...