Gym - 101775L SOS 博弈 找规律
题目:https://cn.vjudge.net/problem/Gym-101775L
PS:训练赛中被这道题折磨的不轻,和队友反复推必胜态与必败态试图推导出公式或者规律,然后推的心态逐渐失控,,,最后十分钟没辙了,队友站在一起,猜,猜一个规律出来,emmm,比赛半路中不经意听到旁边打过这场EC-final现场赛的学长说这题打表找规律,还在对面A题后讨论中听到16和偶数,嘿嘿,于是迫不得已猜规律,比赛还剩三十秒时交上去第三个规律,就,,,就A了,,,和另一位队友逗比的叫了起来,emmm,感觉rp消耗干净
思路:好的,回归正题,这道题虽说是一道打表找规律的题,但其实是可以当博弈思维题来看的,首先我们不难看出,S _ _ S是一个必胜态,谁在营造一个S _ _ S并逼对手先进这个区域谁就可以获胜,现在我们来考虑这个必胜态,我们不难发现在n==7时第一次有人(Panda)可以营造一个第一个对自己有利的必胜态,在panda先手在4位置放置一个S,不管sheep如何放置,panda都可以在另一方放置一个S达到S _ _ S来使自己获胜,我们不难看出,当营造完S _ _ S后,决定谁先进入这个禁区的是剩余空格的数量,当n==7时剩余数量m为偶数,也就是说一定是sheep先进入这个区域,panda获胜,继续推导我们发现,n==9时panda获胜,n==11,13,15时均可获胜,于是我们有一个大胆的猜想,大于7的奇数获胜,大于7的偶数平局,好的,恭喜你,你将收获一个红色wrong answer,其实我们并没有什么根据说明先手一定不会败,接下来考虑偶数的时候后手能否获胜,我们不难看出,如果先手下一个S之后,后手总可以下一个S产生必胜态并保证剩余的格子数可以使对面先进入这些禁区,于是偶数时先手需要尽量保持平局,于是先手使用打乱后手使后手营造不出必胜态,但后手能否在先手尽力干扰的情况下营造一个必胜态呢,不要忘了,先手营造的时候后手也是在干扰的,于是,我们想到那个神奇的数字——7,有七个格子可以供后手放置的时候后手就可以营造出对自已有利的局面,但考虑对面先放O,所以我们时不能在O方便放置S的,所以这个数字应该是8,当先手怎么阻止,都会给后手留至少相连的八个格子,这个局面我们不难画出:_ _ _ _ _ _ _ O _ _ _ _ _ _ _ _,而这个数字是——16
AC代码:
#include <iostream>
#include <cstdio> using namespace std; int main()
{
int T, t = , n;
scanf("%d", &T);
while(T--) {
scanf("%d", &n);
if (n > && n & )
printf("Case #%d: Panda\n", ++t);
else if (n < )
printf("Case #%d: Draw\n", ++t);
else
printf("Case #%d: Sheep\n", ++t);
}
return ;
}
Gym - 101775L SOS 博弈 找规律的更多相关文章
- 51nod_1831: 小C的游戏(Bash博弈 找规律)
题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...
- HDU-1847 Good Luck in CET-4 Everybody! (博弈+找规律)
大学英语四级考试就要来临了,你是不是在紧张的复习?也许紧张得连短学期的ACM都没工夫练习了,反正我知道的Kiki和Cici都是如此.当然,作为在考场浸润了十几载的当代大学生,Kiki和Cici更懂得考 ...
- 51nod 1831: 小C的游戏(Bash博弈 找规律)
题目链接 此类博弈不需要考虑sg函数,只需要确定必胜态和必败态,解题思路一般为打败先打表找规律,而后找规律给出统一的公式.打表方式:给定初始条件(此题中为ok[0]=ok[1]=0),然后从低到高枚举 ...
- HDU 1079 Calendar Game(博弈找规律)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1079 题目大意:给你一个日期(包含年月日),这里我表示成year,month,day,两人轮流操作,每 ...
- Codeforces Gym 100015B Ball Painting 找规律
Ball Painting 题目连接: http://codeforces.com/gym/100015/attachments Description There are 2N white ball ...
- Codeforces Gym 100637B B. Lunch 找规律
B. Lunch Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100637/problem/B Des ...
- Gym 100962G Green Day (找规律)
题意:你用k 个生成树构成一个完全图. 析:n 个点的完全图有n(n-1)/2个边,一个生成树有n-1个边,你有k 个生成树 即边数等于 K(n-1) ,即 n(n-1)/2 == k(n-1) ...
- HDU 1847 (博弈 找规律) Good Luck in CET-4 Everybody!
为了提高题解质量还是简单证明一下:3的倍数是必败状态. 如果n % 3 = 1,那么拿走1个石子:如果n % 3 = 2,那么拿走两个石子,都将转移到3的倍数的状态.所以每个必胜状态都有一个后继是必败 ...
- HDU 2897 (博弈 找规律) 邂逅明下
根据博弈论的两条规则: 一个状态是必胜状态当且仅当有一个后继是必败状态 一个状态是必败状态当且仅当所有后继都是必胜状态 然后很容易发现从1开始,前p个状态是必败状态,后面q个状态是必胜状态,然后循环往 ...
随机推荐
- 056 Merge Intervals 合并区间
给出一个区间的集合, 请合并所有重叠的区间.示例:给出 [1,3],[2,6],[8,10],[15,18],返回 [1,6],[8,10],[15,18].详见:https://leetcode.c ...
- SpringBoot整合Redis使用Restful风格实现CRUD功能
前言 本篇文章主要介绍的是SpringBoot整合Redis,使用Restful风格实现的CRUD功能. Redis 介绍 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-valu ...
- javac 找不到文件 的可能原因
初学Java还不太明白,竟在些简单的事情上栽跟头,分享一下省的麻烦. 当我们配置好JDK和环境变量之后,在命令行下输入javac,说明我们的安装是正确的.
- 前端HTML以及HTML5(基本标签)
前面一章介绍了一下前端的发展,这章简单介绍一下html的发展以及基本的标签. 一.HTML的发展史 1.概念 超文本标记语言(HyperText Markup Language,简称HTML)是为 [ ...
- html5 02 随记
HTML 02 全局通用属性 id name class style 一. 图像标签 标签名:<img /> 常用属性: Alt -- 代表图像的替代文字 作用: 当图片不显示的 ...
- 以后要进行数据收集,打开邮箱就行了 | formtalk入驻Office 应用商店
『数据收集』,作为一项工作,存在感高的忽视不了——不管你在企业里是什么角色(大部分),Ta似乎都在你的工作范围内. 你是人事:收集招聘数据.员工信息: 你是采购:收集供应商信息.商品数据: 你是市场: ...
- UVA 1471 Defense Lines 防线 (LIS变形)
给一个长度为n的序列,要求删除一个连续子序列,使剩下的序列有一个长度最大的连续递增子序列. 最简单的想法是枚举起点j和终点i,然后数一数,分别向前或向后能延伸的最长长度,记为g(i)和f(i).可以先 ...
- 谷歌浏览器 加安全地址 快捷方式加参数 chrome
--unsafely-treat-insecure-origin-as-secure="http://192.168.43.17:8080"
- C++ 值传递&引用&地址
- springboot(二十一)-集成memcached
Memcached 介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站 ...