• hdu4101


    题意:

      一个矩阵中 -1代表宝藏,0代表通路,其他正整数代表石头。两个人轮流采取操作:从矩阵外面任何地方进如矩阵,对可以到达的石头进行一次攻击,石头将掉一血,若石头掉为0血,则此处变为通路。问必胜方

    解决:

      设有某一圈石头围在-1周围,且这一圈中每一个石头都只有1的血量,圈外无其他石头。则这一圈石头出现的时候,当前局面为必败态。此时先手的人只能选择这全是石头中的一个进行攻击,后手则可直接取得宝藏。找出这圈石头的过程中有几个trick,也有些技巧。先从-1开始dfs一次,将可到达的石头标记一次,再从矩阵外面向内dfs一次,如果碰到之前被标记过的石头,再标记一次。最终被标记了两次的石头就是上述的“圈”上的石头。并在dfs过程中,记录圈外石头总血量,以及每个圈上石头(血量-1)。结果就是必败态出现之前的可操作次数。若为偶数,先手必败,否则,先手必胜。 

      对了,注意如果-1直接和矩阵外联通,则先手即胜。

    其中小trick的样例

    0 0 0 0 0 0 0 0 0
    0 0 1 1 1 1 1 0 0
    0 1 0 0 1 0 1 0 0 
    1 0 0 1 1 0 1 0 0
    1 0 0 0 0 0 1 0 0
    1 0 0 0-1 0 1 0 0
    1 0 0 0 0 0 1 1 0
    1 1 0 0 0 0 0 1 0
    0 1 1 1 1 1 1 1 0
    0 0 0 0 0 0 0 0 0

    这组数据中,橙色表注部分的为圈上石头,蓝色部分则为圈内部分,黄色为圈外部分。
  • 相关阅读:
    Eclipse修改背景颜色(豆沙绿)
    项目导入时报错:The import javax.servlet.http.HttpServletRequest cannot be resolved
    jdk1.7 环境变量配置
    Maven的安装、配置及使用入门
    tomcat端口作用
    《Maven实战》
    Maven 详解
    遍历Map的四种方法
    遍历properties文件
    题库终结
  • 原文地址:https://www.cnblogs.com/takeoffyoung/p/4679002.html
Copyright © 2020-2023  润新知