洛谷P3150 pb的游戏(1)题解 博弈论入门
题目链接:https://www.luogu.org/problem/P3150
这道题目是博弈论的入门题。
我们以 必胜态 和 必败态 来讲解这个问题。
首先,下面的图片演示了前8个数的必胜态和必败态:

可以发现:
- 当 \(m=1,3,5,7\) 的时候都是必败态;
- 当 \(m=2,4,6,8\) 的时候都是必胜态。
我们不妨用数学归纳法来证明一下:
对于任意一个大于8的 \(m\) ,假设我已知它前面的 \(m-1\) 个数的状态已经确定,并且奇数都是必败态,偶数都是必胜态。则:
- 如果 \(m\) 是奇数,则它无论如何分,都是分成一个小于 \(m\) 的奇数和一个小于 \(m\) 的偶数,也就是无论如何分都会留给对手一个必胜态(偶数),则 \(m\) 对我就是必败态;
- 如果 \(m\) 是偶数,则它可以分成两个奇数(此时留给对手两个必败态),也可以分成两个偶数(此时留给对手两个必胜态),然而因为我绝对聪明,所以我肯定会分成两个奇数,所以此时 \(m\) 对我就是必胜态。
综上所述,可以得到结论:所有的偶数都是必胜态,所有的奇数都是必败态。
实现代码如下:
#include <bits/stdc++.h>
using namespace std;
int n, m;
int main() {
cin >> n;
while (n --) {
cin >> m;
puts( m % 2 ? "zs wins" : "pb wins");
}
return 0;
}
洛谷P3150 pb的游戏(1)题解 博弈论入门的更多相关文章
- 洛谷P3150 pb的游戏(1) 题解
题目链接: https://www.luogu.org/problemnew/show/P3150 分析: 这道题是一道典型的入门博弈论.我们可以进行如下考虑: 先引入一个奇偶的性质: 奇数=奇数+偶 ...
- 洛谷 [P3150] pb的游戏
博弈论基础 本题可以视作P2148 E&D 的前置技能 本题直接判断奇偶性来求解, 证明就是2148 的证明 不贴代码
- 洛谷P1288 取数游戏II 题解 博弈论
题目链接:https://www.luogu.org/problem/P1288 首先,如果你的一边的边是 \(0\) ,那么你肯定走另一边. 那么你走另一边绝对不能让这条边有剩余,因为这条边有剩余的 ...
- 洛谷P1274-魔术数字游戏
Problem 洛谷P1274-魔术数字游戏 Accept: 118 Submit: 243Time Limit: 1000 mSec Memory Limit : 128MB Probl ...
- 洛谷P1118 数字三角形游戏
洛谷1118 数字三角形游戏 题目描述 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直 ...
- 洛谷P1854 花店橱窗布置 分析+题解代码
洛谷P1854 花店橱窗布置 分析+题解代码 蒟蒻的第一道提高+/省选-,纪念一下. 题目描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定 ...
- P3150 pb的游戏(1)
P3150 pb的游戏(1)选偶数,这一轮一定会活,选奇数,自己这一轮可能会死,并且(如果自己这一轮没死)下一轮对手一定可以活,因为选了奇数,就会被分解成奇数和偶数. #include<iost ...
- 洛谷P4606 [SDOI2018]战略游戏 【圆方树 + 虚树】
题目链接 洛谷P4606 双倍经验:弱化版 题解 两点之间必经的点就是圆方树上两点之间的圆点 所以只需建出圆方树 每次询问建出虚树,统计一下虚树边上有多少圆点即可 还要讨论一下经不经过根\(1\)的情 ...
- HAOI2006 (洛谷P2341)受欢迎的牛 题解
HAOI2006 (洛谷P2341)受欢迎的牛 题解 题目描述 友情链接原题 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之 ...
随机推荐
- map.(parseInt)方法详解
偶然间碰到这样一个问题: ["1","2", "3"].map(parseInt) //[ 1, NaN, NaN ] 运行结果 [ 1, ...
- Python学习笔记(二)使用Sublime Text编写简单的Python程序()
一.使用Sublime Text编写Python 1.点击“文件” →”新建文件“ 2.点击”文件“→”保存“,并保存为.py文件 此时已经创建好Python文件了,接下来就可以编写Python程序了 ...
- SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起
SPSS分析技术:二阶聚类分析:为什么出现大学生"裸贷"业务,因为放贷者知道贷款者还不起 今天将介绍一种智能聚类法,二阶聚类法,在开始介绍之前,先解答很多人在后台提出的一个疑问:那 ...
- Directx11教程(7) 画一个颜色立方体
原文:Directx11教程(7) 画一个颜色立方体 前面教程我们通过D3D11画了一个三角形,本章我们将画一个颜色立方体,它的立体感更强.主要的变动是ModelClass类,在Model ...
- 使用哈工大LTP进行文本命名实体识别并保存到txt
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/broccoli2/article/det ...
- hdu1536 sg打表
标记数组用bool型防止超时.输入的f[ ]要排序. #include<stdio.h> #include<string.h> #include<algorithm> ...
- Vue CLI图形化创建项目
- oracle获取中文出现乱码问题解决
首先搞清楚字符集和字符编码概念,了解oracle字符集原理,请参考一位大神的讲解: ref:http://blog.csdn.net/dbanote/article/details/9158367#c ...
- Spring Security 4 使用@PreAuthorize,@PostAuthorize, @Secured, EL实现方法安全
[相关已翻译的本系列其他文章,点击分类里面的spring security 4] 上一篇:Spring Security 4 整合Hibernate 实现持久化登录验证(带源码) 原文地址:http: ...
- 通过反射拿到构造方法 Day25
package com.sxt.constructor; /* * 反射 * Class类拿到构造方法 */ import java.lang.reflect.Constructor; public ...