bzoj3609 [Heoi2014]人人尽说江南好 博弈
[Heoi2014]人人尽说江南好
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 581 Solved: 420
[Submit][Status][Discuss]
Description
小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),
Input
Output
输出 T 行,每行为 0 或 1,如果为 0 意为小 Z(即先手)会取得胜利,为 1 则为后
Sample Input
7 3
1 5
4 3
6 1
2 2
Sample Output
1
1
1
0
HINT
100%的数据, n,m<=1000000000, T<=100
Source
感觉一定最后是m,m,…,n%m。试了试样例发现很对然后就A了><
证明:
无论先手后手,只要想就一定能造出m,m,…,n%m。这样的话此时胜利的人必定会构造这种局面。
1、先手想构造
先手1+1=2
如果此时后手1+2=3,则先手1+3=4
如果此时后手1+1=2,则先手2+2=4
就是说先手可以构造自己放完后只有一堆非1且为偶数
同理后手能构造自己放完后只有一堆非1且为奇数
当m为奇数
{
先手想构造
当先手造出了m-1后,如果后手让m-1加一变成m,则造出一个m同时回到先手行动状态,循环上面过程。
如果后手造一个2,先手补满m。无论后手让1+1=2还是让2+1=3,先手都能把造一堆4,其他都为1,循环上面过程。
后手想构造
后手会把m造出来,此时又轮到先手,循环上面过程。
}
当m为偶数
{
先手想构造
先手会直接把m造出来。后手会让1+1=2。此时等价于造出了一堆m,转化为后手想构造。
后手想构造
后手造出m-1后,如果先手把它补成m,则等价于造出一堆m,转化为先手想构造。如果先手让1+1=2,则后手补出m。此时无论先手让2+1=3还是让1+1=2,后手都把它变为4。现在后手就能构造那一堆是偶数的了,等价于造出一堆m后,变成先手想构造。
发现这两种是交替的
}
构造方法只有在m<=3的情况下不成立,这种情况就易于分析了吧。。
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
#include<cstdio> #define ll long long
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch>''||ch<''){if (ch=='-') f=-;ch=getchar();}
while(ch<=''&&ch>=''){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return x*f;
}
int n,m,t,ans;
int main()
{
int cas=read();
while(cas--)
{
n=read(),m=read();
t=n/m;
if(n%m) t++;
ans=n-t;
if(ans%) printf("0\n");
else printf("1\n");
}
}
bzoj3609 [Heoi2014]人人尽说江南好 博弈的更多相关文章
- BZOJ3609 Heoi2014 人人尽说江南好【推理+结论】
BZOJ3609 Heoi2014 人人尽说江南好 Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时 ...
- BZOJ3609 [Heoi2014]人人尽说江南好 【博弈】
题目链接 BZOJ3609 题解 我们假设最后合成若干个\(m\),和\(n \mod m\),此时合成次数是最多的,也唯一确定胜利者 可以发现,在轮流操作的情况下,胜利者一定可以将终态变为这个状态 ...
- [BZOJ3609][Heoi2014]人人尽说江南好 结论题
Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家), 最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要 ...
- bzoj3609 [Heoi2014]人人尽说江南好
Description 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要边玩 ...
- BZOJ 3609: [Heoi2014]人人尽说江南好
3609: [Heoi2014]人人尽说江南好 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 470 Solved: 336[Submit][Sta ...
- 【BZOJ3609】人人尽说江南好(博弈论)
[BZOJ3609]人人尽说江南好(博弈论) 题面 BZOJ 洛谷 题解 昨天考试的时候,毒瘤出题人出了一个\(noip\)博弈十合一然后他就被阿鲁巴了,因为画面残忍,就不再展开. 这题是他的十合一中 ...
- [HEOI2014] 人人尽说江南好
[HEOI2014] 人人尽说江南好 题目大意:一个博弈游戏,地上\(n\)堆石子,每堆石子有\(1\)个,每次可以合并任意两个石子堆\(a,b\),要求\(a + b \leq m\),问先手赢还是 ...
- 【bzoj3609】[Heoi2014]人人尽说江南好
可以算出合并多少次. #include<algorithm> #include<iostream> #include<cstdlib> #include<cs ...
- P4101 [HEOI2014]人人尽说江南好
题目描述 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要边玩游戏边填词的,比如这 ...
随机推荐
- sysbench0.5安装和使用介绍
sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况,sysbench支持MySQL.PostgreSQL.Oracle数据库OLTP测试.它 ...
- ftpclient 遇到的一些问题
1. FTPFile[] files=ftpClient.listFiles(ftpDirectory); 没有数据 public static boolean ftpLogin(String ser ...
- 洛谷 P2264 情书
题目背景 一封好的情书需要撰写人全身心的投入.lin_toto同学看上了可爱的卡速米想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他. 题目描述 为了帮助lin_toto,我 ...
- make 与makefile(会不会写 makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。)
跟我一起写 Makefile /**/ 陈皓 (CSDN) 概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉 ...
- sql视图和表的区别
整理一下视图和表的区别 区别: 1.视图是已经编译好了的sql,表不是 2.视图没有实际的物理存储记录,表有 3.视图是逻辑概念,表可以进行修改 5.表是内模式,视图是外模式 6.视图是我们查看表的方 ...
- java项目指向maven进行构建方式
1.在需要运行的机器中环境变量中配置maven 运行setting 4 配置环境变量 2.运行项目进行重新构建:alt+F5
- python之道04
1.写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian", "barry&q ...
- 前台解析json的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- iOS开发遇见的坑之二:工程文件中插件和自身工程命名冲突
在升级cocoapod后,我重新管理了一下工程,其实也就是把各个类分类进行管理 类似于这样 然后编译就发现不能运行 1.其中一个错误是工程文件缺失,根据提示添加进来进行 2.有一个是pch的相对路径变 ...
- linux 用dd命令读写引导区文件
分类: LINUX 备份MBR,linux下使用如下命令: # dd if=/dev/hda of=/root/linux.bin bs=512 count=1 这里注意使用if=/dev/hda备份 ...