poj 3084(最小割)

原创 2016年06月01日 20:47:13
Panic Room
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 2069   Accepted: 1075

Description

You are the lead programmer for the Securitron 9042, the latest and greatest in home security software from Jellern Inc. (Motto: We secure your stuff so YOU can't even get to it). The software is designed to "secure" a room; it does this by determining the minimum number of locks it has to perform to prevent access to a given room from one or more other rooms. Each door connects two rooms and has a single control panel that will unlock it. This control panel is accessible from only one side of the door. So, for example, if the layout of a house looked like this: 
 
with rooms numbered 0-6 and control panels marked with the letters "CP" (each next to the door it can unlock and in the room that it is accessible from), then one could say that the minimum number of locks to perform to secure room 2 from room 1 is two; one has to lock the door between room 2 and room 1 and the door between room 3 and room 1. Note that it is impossible to secure room 2 from room 3, since one would always be able to use the control panel in room 3 that unlocks the door between room 3 and room 2. 

Input

Input to this problem will begin with a line containing a single integer x indicating the number of datasets. Each data set consists of two components:
  1. Start line – a single line "m n" (1 <=m<= 20; 0 <=n<= 19) where m indicates the number of rooms in the house and n indicates the room to secure (the panic room).
  2. Room list – a series of m lines. Each line lists, for a single room, whether there is an intruder in that room ("I" for intruder, "NI" for no intruder), a count of doors c (0 <= c <= 20) that lead to other rooms and have a control panel in this room, and a list of rooms that those doors lead to. For example, if room 3 had no intruder, and doors to rooms 1 and 2, and each of those doors' control panels were accessible from room 3 (as is the case in the above layout), the line for room 3 would read "NI 2 1 2". The first line in the list represents room 0. The second line represents room 1, and so on until the last line, which represents room m - 1. On each line, the rooms are always listed in ascending order. It is possible for rooms to be connected by multiple doors and for there to be more than one intruder!

Output

For each dataset, output the fewest number of locks to perform to secure the panic room from all the intruders. If it is impossible to secure the panic room from all the intruders, output "PANIC ROOM BREACH". Assume that all doors start out unlocked and there will not be an intruder in the panic room.

Sample Input

3
7 2
NI 0
I 3 0 4 5
NI 2 1 6
NI 2 1 2
NI 0
NI 0
NI 0
7 2
I 0
NI 3 0 4 5
NI 2 1 6
I 2 1 2
NI 0
NI 0
NI 0
4 3
I 0
NI 1 2
NI 1 0
NI 4 1 1 2 2

Sample Output

2
PANIC ROOM BREACH

1

这道题的题意很难理解,参考了别人的:http://blog.csdn.net/chenzhenyu123456/article/details/48177805

说一下建图过程吧:最小割模型

将所有被侵入的点与超级源点连接,容量为无穷大,汇点为保护点。a->b建立一条无穷大的边,因为门锁没锁,对于a->b来说是不起作用的,都可以通过,那么我们就不需要它来决策了,直接把边赋为无穷大;b->a就不同,门锁了b->a是无法进入的,所以我们需要封锁这条边来防止入侵,赋值为1,这样跑一边最大流即可求出最小割了。


                    

相关文章推荐

poj 3084 Panic Room 【最小割】

Panic Room Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1975   Acc...

poj 3084 最小割

题意: 有一些用门相连的小房间,门可以开关,但是每个门的开关只能由给定的某一个房间控制,现在给定一个房间t和一些房间mi,问使得mi到s都不连通的情况下,需要关闭的门的最少个数。 思路: 房间...

poj 3084(最小割。。。。。)

Panic Room Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1415   Acc...

poj 3084 Panic Room(最小割,边连通度)

Panic Room Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1813   Acc...
  • WEYuLi
  • WEYuLi
  • 2014年01月17日 16:29
  • 581

poj 3084 最小割 模板题 PANIC ROOM

多校出了道模板题,于是就开始找模板。这题也是求最小割。 http://poj.org/problem?id=3084 题意:有n个房间,要确保一个房间(t)不能进坏人。相邻的房间可能会有门,但...

POJ 3084 - Panic Room【网络流 最小割】

Description You are the lead programmer for the Securitron 9042, the latest and greatest in home se...

POJ 3084 Panic Room 最小割

题意很蛋疼,看了好久才明白过来什么意思 大意就是,有一些房间,初始时某些房间之间有一些门,并且这些门是打开的,也就是可以来回走动的,但是这些门是确切属于某个房间的,也就是说如果要锁门,则只有在那个房...

【POJ】3084 Panic Room 最小割

传送门:【POJ】3084 Panic Room 题目分析:POJ今天的C++逗我玩呢。。G+

POJ 3084 Panic Room | 最小割

题意: 如果

POJ 3084 Panic Room(最小割)

Panic Room Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1960   Acc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 3084(最小割)
举报原因:
原因补充:

(最多只允许输入30个字)