DTOJ 4339. 游戏
题意
小AA和小YY得到了《喜羊羊和灰太狼》的电影票,都很想去观看,但是电影票只有一张,于是他们用智力游戏决定胜负,赢得游戏的人可以获得电影票。
在 N∗MN*MN∗M 的迷宫中有一个棋子,小AA首先任意选择棋子放置的位置。然后,小YY 和小AA轮流将棋子移动到相邻的格子里。游戏的规则规定,在一次游戏中,同一个格子不能进入两次,且不能将棋子移动到某些格子中去。当玩家无法继续移动棋子时,游戏结束,最后一个移动棋子的玩家贏得了游戏。
例如下图所示的迷宫,迷宫中表示棋子可以经过的格子,而 “#” 表示棋子不可以经过的格子:
.##.~\#~\#. # #
....~.~.. . .
#.#\#~.~\## . #
若小AA将棋子放置在 (1,1)(1,1)(1,1),则小AA则无论如何都无法赢得游戏。
而若小AA将棋子放置在 (3,2)(3,2)(3,2) 或 (2,3)(2,3)(2,3) ,则小AA能够贏得游戏。例如,小AA将 棋子放畀在(3,2)(3,2)(3,2),小YY只能将它移动到 (2,2)(2,2)(2,2) ,此时小AA再将棋子移动到 (2,3)(2,3)(2,3), 就贏得了游戏。
小AA和小YY都是绝顶聪明的小朋友,且从不失误。小AA到底能不能赢得这场游 戏,从而得到珍贵的电影票
对于 100%100 \%100% 的数据,有 1≤n,m≤1001 \le n,m \le 1001≤n,m≤100 。
对于 30%30 \%30% 的数据, 有 1≤n,m≤51 \le n,m \le 51≤n,m≤5。
题解
比较套路地将格子黑白染色,相邻的连边,可以得到一个二分图,问题变成有哪些点可以从它出发沿着边走必胜。
由于在二分图上走交替路的过程和匈牙利算法相似,考虑二分图最大匹配。
先考虑特殊情况:如果存在完美匹配,则不管从哪个点出发,只要对方沿着匹配边走,你最多只能沿着非匹配边走到匹配点,然后对方再走匹配边,你早晚会死的。
否则,考虑把对方逼到这种局面:从任意一个非匹配点出发,对方只能走到匹配点(否则原来不是最大匹配),然后你沿着匹配边走,对方在走只能沿着非匹配边走到一个匹配点(如果可以走到非匹配点的话,把这条路径画出来,会发现匹配数可以增加),以此类推你就win了。
于是问题转化为求哪些点可能不在最大匹配中:先求出任意一个最大匹配,把非匹配点拿去寻找可能成为非匹配的点。考虑用它所连的非匹配边去替换,则通过非匹配边连向的匹配点对应的匹配点是可以被替换掉的,新产生一个可行点后继续更新,是一个dfs的过程。
DTOJ 4339. 游戏相关推荐
- Java实现十种行为型模式
目录 (一) 模板方法模式 (二) 命令模式 (三) 访问者模式 (四) 迭代器模式 (五) 观察者模式 (六) 中介者模式 (七) 备忘录模式 (八) 解释器模式 (一) 模板方法模式 模板方法模式 ...
- 小游戏-4339-4399
小游戏 , 4339 , 4399 经典好玩的小游戏推荐: 1. 连连看小游戏 地址: http://www.17wanyouxi.com/yizhi/lianliankan/
- 经典算法案例001-08:如何使用质数设计扫雷(Minesweeper)游戏
扫雷(Minesweeper)游戏 1.扫雷(Minesweeper) 大家都熟悉Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,下表中红色的数字哪些是雷 ...
- 伍六七带你学算法 进阶篇-生命游戏
有趣的算法题–生命游戏 难度-中等 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 想要体验生命游戏的小伙伴可以到这里-->生命游戏 进入 ...
- 自制青蛙跳台阶小游戏~
青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...
- 用Construct 2制作入门小游戏~
今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...
- Intel GPU实现游戏与数据中心
Intel GPU实现游戏与数据中心 在Intel Architecture Day上,Intel谈到了面向游戏玩家的Xe-HPG架构Alchemist GPU以及面向数据中心的Xe-HPC架构GPU ...
- 英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器
英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器 一直以来,每一代英特尔 i5 系列都是很多游戏玩家主要的选购对象,它和任何一款显卡似乎都能够很好的搭配起来.可凡事都有美中不足的地方,比如 ...
- 人脸照片自动生成游戏角色_ICCV2019论文解析
人脸照片自动生成游戏角色_ICCV2019论文解析 Face-to-Parameter Translation for Game Character Auto-Creation 论文链接: http: ...
最新文章
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
- jquery radio 取值
- Community Server系列之九:CS2中的用户管理1(MemberRole)
- python画曲线图例-如何使用python画曲线图
- Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
- day29Struts 类型转换和自定义类型转换,input视图
- php输出0到5之间到数,php如何实现输出链表倒数第k个结点(代码实例)
- 内核中引发bug并打印信息
- MySQL中清空表和截断表的区别(新手入门)
- Redis这么快你知道吗?
- linux跟踪查看实时追加文件的结尾(常用于日志文件)
- 解决pytorch安装过程中下载总是出错的问题
- docker客户端和服务端
- wordpress添加媒体_如何在WordPress中添加BMI计算器(逐步)
- 网易有道最新力作 有道词典笔3 结构拆解
- 阿里云购买域名,以及域名备案(ICP备案)(网站备案)和公安备案(公安联网备案)
- android app安装apk,Android App更新安装APK
- excel换行按什么键_excel中关于自动换行和强制换行那些事儿
- CTF学习-密码学解题思路
- 对向传播神经网络(CPN)