[HEOI2014]人人尽说江南好 博弈论
2024-08-28 14:55:50
题面
题解
感觉这题挺神仙的,根据一些奇奇怪怪的证明可以得到:
最后的终止状态一定是\(m, m, m, m, .... n \% m\).
因此我们可以O(1)计算到终止状态所需步数,然后根据奇偶性即可判断谁胜谁负。
#include<bits/stdc++.h>
using namespace std;
#define R register int
inline int read()
{
int x = 0; char c = getchar();
while(c > '9' || c < '0') c = getchar();
while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x;
}
void work()
{
int T = read(), t;//先手必胜为0,后手必胜为1
for(R i = 1; i <= T; i ++)
{
int n = read(), m = read();
t = (n / m) * (m - 1) + (n % m > 0) * (n % m - 1);//把k个1合成k需要k - 1次
printf("%d\n", 1 ^ (t & 1));
}
}
int main()
{
// freopen("in.in", "r", stdin);
work();
// fclose(stdin);
return 0;
}
最新文章
- 主机和虚拟机不能ping通问题
- spring中用到哪些设计模式
- 数据结构与算法实验题7.1 M 商人的求救
- 《数据结构与算法分析:C语言描述_原书第二版》CH2算法分析_课后习题_部分解答
- 虚拟机Linux系统中安装SYNOPSYS工具图解教程
- Codeforces Round #430 B. Gleb And Pizza
- 在&#39;for&#39;循环中获取索引
- H3C BFD MAD检测方式的IRF典型配置举例
- 并发系列2:Java并发的基石,volatile关键字、synchronized关键字、乐观锁CAS操作
- elasticsearch概念
- javase中javax源码下载地址
- win7中mysql安装
- Amaze UI JS 气泡弹出
- 深入理解java异常【绝对经典,推荐最少看五遍】
- express.Router
- GNU C __attribute__ 机制简介
- eclipse 安装插件的几种方式
- SSH服务审计工具ssh-audit
- 【哈希】CDOJ1717 京电的神秘矩阵
- C/S模式和BS模式是什么?
热门文章
- 创龙OMAPL138的SPI FLASH读写
- 搜索引擎Solr6.2.1 索引富文本(word/pdf/txt/html)
- PHP手动环境搭建之WAMP
- 2.5星|《哈佛商学院管理与MBA案例全书》:书名太唬人了,依据中文经管书汇编整理而成
- Docker虚拟机172.17网段冲突,导致网络访问问题
- Parcel 打包器简单使用记录
- [shell] 循环判断输入值
- Java 学习笔记 ------第五章 对象封装
- C/C++学习计划
- wamp上能够访问jsp(未解决 游客勿看)