Codeforces Round #533 (Div. 2) D. Kilani and the Game(bfs)
本文共 1126 字,大约阅读时间需要 3 分钟。
【题目】
【题意】
给定一张棋盘(?)的大小和玩家人数,给定玩家的扩散速度和棋盘的初始状态,每个玩家有不少于1个初始点,扩散方式是左上右下四个位置移动,没有玩家可以继续移动时结束,输出每个玩家的扩散范围。
【...】
昨天觉得D题可以挣扎一下,然后搞了一半被喊过去搞C,今天看了下确实是广搜bfs思路没错,所以其实我是有四题的水平但是做题速度太慢了(嘿嘿强行no face一波)。
思路就是按顺序再按速度执行一次可行区域内即左上右下的扩散,一个剪枝就是剪掉已经无法再扩散的玩家部分,防止其因速度过大而再进行不必要的搜索而超时。
需要注意两点:
1.初始位置可以不止一个。
2.最后情况有可能出现大家都走不了了但是还存在可扩散区域 '.' 的情况。
“题意虐我千百遍,我待题意如初恋。” && “好的读题等于成功了一半。” == true
【代码】
#include #include #include #include #include #include #include
转载地址:http://kfben.baihongyu.com/