hdu1846 Brave Game--巴什博奕
来源:互联网 发布:金十数据看白银 编辑:程序博客网 时间:2024/05/22 13:05
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1846
分析:
如果 n = m + 1, 一次至多取 m 个,所以无论先取者,取了多少个,一定还剩余 x 个( 1 ≤ x ≤ m)。所以,后取者必胜。因此我们发现了取胜的秘诀:如果我们把 n 表示为n = (m + 1) * r + s 。(0 ≤ s < m , r ≥ 0)。
先取者 拿走 s 个, 后取者 拿走 k 个 (1 ≤ k ≤ m),那么先取者 再 拿走 m + 1 - k 个。结果还剩下 ( m + 1 ) * ( r - 1 ) 个。我们只要始终给对手留下 m + 1 的倍数,那么 先取者 肯定必胜。 现在 我们可以知道,如果 s = 0,那么后取者必胜。 否则 先取者 必胜。
AC代码:
#define _CRT_SECURE_NO_DEPRECATE#include<iostream>#include<vector>#include<cstring>#include<queue>#include<stack>#include<algorithm>#include<cmath>#include<string>#include<stdio.h>#define INF 1000000000#define EPS 1e-6using namespace std;int T;int n, m;int main(){ scanf("%d", &T); while (T--) { scanf("%d%d", &n, &m); if (n % (m + 1) == 0) printf("second\n"); else printf("first\n"); } return 0;}
1 0
- hdu1846 Brave Game--巴什博奕
- hdu1846 Brave Game 标准巴什博奕
- hdu1846——Brave Game(巴什博奕)
- HDU1846 Brave Game 博弈
- HDU1846 Brave Game
- hdu1846 Brave Game
- hdu1846 Brave Game
- hdu1846 Brave Game
- hdu1846 Brave Game
- HDU1846 Brave Game
- hdu1846 Brave Game
- hdu1846 Brave Game
- HDU1846(博弈论,Brave Game)
- hdu1846-Brave Game(BashGame入门)
- HDU1846:Brave Game(巴什博弈)
- 【端午小练】HDU1846-Brave Game
- HDU1846:Brave Game(巴什博弈)
- hdu1846 Brave Game 巴什博弈
- 基于SOA 的软件过程管理在中小企业中的应用
- 使用java代码在jsp中显示实体数据
- 在PHP 7中不要做的10事情
- html之文档的头部和元数据定义(下,未写完)
- css hack
- hdu1846 Brave Game--巴什博奕
- 安卓屏幕适配以及在PS中进行测量
- 多因子模型水平测试题试答(业绩归因部分)
- The method getDispatcherType() is undefined for the type HttpServletRequest
- empty()函数注意
- js中AppendChild与insertBefore的用法详细解析
- [乐意黎转载]PHP mysql_fetch_array() 函数
- 创建你自己的 Java 注解类
- 挂载多个tomcat的方法