POJ3057 Evacuation 题解

传送门

题意:给定一张字符地图,# 代表墙,. 代表空地,D 代表门。初始每个空地都有一个人。
每个人可以在一秒内向上下左右移动一格。一个空地可以站任意多人。一个人走到门视作逃生成功。但是门很窄,一个时刻内只能有一个人进门。
问所有人逃生的最短时间。\(n\le 12\)

注意到门一个时刻只能进一个人。考虑把门拆点。

先从每个门 BFS,求出每个人到每个门的最短距离。

第一时刻,把所有门在第一时刻的对应点建出来。对于一个门和一个人,如果一个人能到达这个时刻的门,这个人对应的点向这个时刻的门连边。

这是个二分图,然后找最大匹配,就能判断是否可以全逃生。二分判定即可。

posted @ 2024-03-18 18:33  FLY_lai  阅读(6)  评论(0编辑  收藏  举报