题意

小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. 游戏相关推荐

  1. Java实现十种行为型模式

    目录 (一) 模板方法模式 (二) 命令模式 (三) 访问者模式 (四) 迭代器模式 (五) 观察者模式 (六) 中介者模式 (七) 备忘录模式 (八) 解释器模式 (一) 模板方法模式 模板方法模式 ...

  2. 小游戏-4339-4399

    小游戏 , 4339 , 4399 经典好玩的小游戏推荐: 1.  连连看小游戏 地址: http://www.17wanyouxi.com/yizhi/lianliankan/

  3. 经典算法案例001-08:如何使用质数设计扫雷(Minesweeper)游戏

    扫雷(Minesweeper)游戏 1.扫雷(Minesweeper) 大家都熟悉Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,下表中红色的数字哪些是雷 ...

  4. 伍六七带你学算法 进阶篇-生命游戏

    有趣的算法题–生命游戏 难度-中等 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 想要体验生命游戏的小伙伴可以到这里-->生命游戏 进入 ...

  5. 自制青蛙跳台阶小游戏~

    青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...

  6. 用Construct 2制作入门小游戏~

    今天在软导课上了解到了Construct 2这个神器,本零基础菜鸟决定尝试做一个简单的小游戏(实际上是入门的教程啊= = 首先呢,肯定是到官网下载软件啊,点击我下载~ 等安装完毕后我便按照新手教程开始 ...

  7. Intel GPU实现游戏与数据中心

    Intel GPU实现游戏与数据中心 在Intel Architecture Day上,Intel谈到了面向游戏玩家的Xe-HPG架构Alchemist GPU以及面向数据中心的Xe-HPC架构GPU ...

  8. 英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器

    英特尔 i5-9400F,或将成为本年最高性价比的游戏处理器 一直以来,每一代英特尔 i5 系列都是很多游戏玩家主要的选购对象,它和任何一款显卡似乎都能够很好的搭配起来.可凡事都有美中不足的地方,比如 ...

  9. 人脸照片自动生成游戏角色_ICCV2019论文解析

    人脸照片自动生成游戏角色_ICCV2019论文解析 Face-to-Parameter Translation for Game Character Auto-Creation 论文链接: http: ...

最新文章

  1. 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
  2. jquery radio 取值
  3. Community Server系列之九:CS2中的用户管理1(MemberRole)
  4. python画曲线图例-如何使用python画曲线图
  5. Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
  6. day29Struts 类型转换和自定义类型转换,input视图
  7. php输出0到5之间到数,php如何实现输出链表倒数第k个结点(代码实例)
  8. 内核中引发bug并打印信息
  9. MySQL中清空表和截断表的区别(新手入门)
  10. Redis这么快你知道吗?
  11. linux跟踪查看实时追加文件的结尾(常用于日志文件)
  12. 解决pytorch安装过程中下载总是出错的问题
  13. docker客户端和服务端
  14. wordpress添加媒体_如何在WordPress中添加BMI计算器(逐步)
  15. 网易有道最新力作 有道词典笔3 结构拆解
  16. 阿里云购买域名,以及域名备案(ICP备案)(网站备案)和公安备案(公安联网备案)
  17. android app安装apk,Android App更新安装APK
  18. excel换行按什么键_excel中关于自动换行和强制换行那些事儿
  19. CTF学习-密码学解题思路
  20. 对向传播神经网络(CPN)

热门文章

  1. R语言开发环境搭建与实践
  2. linux中umount命令的功能,Linux中的umount命令的详细解释
  3. cocos 战棋游戏 源代码_cocos2d-x完整RPG游戏源代码
  4. 【通信电子电路】第12章 三相电路
  5. 2020省赛 填空 蛇形填数 java
  6. Vivado将程序固化到Xilinx的FPGA开发板的flash芯片中
  7. 文案改写神器软件-文案改编神器
  8. 基于Unity引擎的2D像素风Roguelike地下城游戏Demo
  9. 自体脂肪丰臀存活率高吗,吃什么提高存活率?
  10. 转载《分布式任务调度平台XXL-JOB》