题意:买了n个插座,m个电器,k个转换器。\(n(1 <= n <= 100)(1 <= m <= 100)(1 <= k <= 100)\),转换器会把\(s1 s2\)中的s2插座转换成s1插座。
//插座个数
4
A
B
C
D
//插头个数
5
laptop B
phone C
pager B
clock B
comb X
//转换器种类
3
B X
X A
X D
分析:我们可以用map为每个插座赋值一个id,我们从源点向插座连一条容量为1的边,因为每个插座只能适配一个插头。其次,我们为每个插头也赋值一个id,从适配的插座向插头连边,容量为1。然后插头再向汇点连边。我们的交换器比如\(s1 s2\),表示s2的插座器可以向s1的插座器连边,容量为inf。因为交换器是无限的。
注意:每次赋值都要判断一个类型的插座或者插头是否存在。
#include
#include
#include
#include
#include