HDU
来源:互联网 发布:淘宝网老年80岁女冬装 编辑:程序博客网 时间:2024/05/20 04:31
简单 博弈 入门
题意不用解释了,
对于博弈论的问题,总有必胜的情况的,能够推出 必胜的的情况就行了,既然两个人都是选取最优策略
这个最优策略 我的理解是 对于必胜者来说的-①,说完这个题 再做解释
看这个题,我们可能会轻松的想到 要是这一堆石子 n <= m ,那肯定是 first 胜,
如果要是 n > m 呢? 我们要造就的一种形势就是 其中一个人不管怎么选,另一个一定胜
我们 n > m 往下 推一步,n = m+1 的时候,不管 第一个人 取几个,第二个人都是 胜者
这就是一种必胜的形势,也是这个题的 关键点,,所以我们就看 这个形势是由第一个人造就的还是第二个人,
if n % (m+1) == 0 这样本身就是必胜局势(每局比赛,第二个人都让这局选取的数目是 m+1),相当与第二个人造就的,,第二个人胜
if n % (m+1) != 0 这样第一个人选取若干个,使之成为 必胜局势,第一个人早就这种必胜局势,那么第一个人是胜者
解释一下 ① :由这个题 可以看出来,选取的最优策略(必胜的局势) 都是胜者来维持的
(初学博弈,多练练再更新,欢迎路过神牛指点交流
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int maxn = 10000 + 7, INF = 0x7f7f7f7f, mod = 1e9+7;int n, m;int main() { int T; scanf("%d", &T); for(int test = 1; test <= T; ++test) { scanf("%d %d", &n, &m); if(n%(m+1)) { puts("first"); } else puts("second"); } return 0;}
阅读全文
1 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- 面试类链表题目汇总
- leetcode 628 Maximum Product of Three Numbers
- 网络部分
- iOS App中调用相册中图片及获取最近的一张图片的方法
- 跟我撩fastjson-第三章:Java泛型的序列化和反序列化
- HDU
- 利用for和if编写的1000以内的完数
- Leetcode 210
- 上传自己的库到 pod 的方法步骤
- 13、线程(1)
- js 将json字符串转换为json对象的方法解析
- 1-make和makefile
- 设计模式---迭代器模式
- 3785: 小X的密室