P1402 酒店之王(网络流)
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1402 酒店之王(网络流)相关的知识,希望对你有一定的参考价值。
P1402 酒店之王(网络流)
显然网络流,先建立超级源点连房间,超级汇点连菜,考虑一个人同时可以选房间和菜,但是贡献只算一次,所以对人拆点。两个点连1权,限制流量贡献就是1了。
然后喜欢的边权1,跑dinic即可。
code
//2+200+200
st=0,ed=505;
scanf("%d%d%d",&n,&p,&q);
for(int i=1;i<=p;i++) add(st,i,1);
for(int i=1;i<=q;i++) add(i+n,ed,1);
for(int i=1;i<=n;i++){
add(i+2*n,i+3*n,1);
for(int j=1;j<=p;j++){
int x;scanf("%d",&x);
if(x) add(j,i+2*n,1);
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=q;j++){
int x;scanf("%d",&x);
if(x) add(i+3*n,j+n,1);
}
}
以上是关于P1402 酒店之王(网络流)的主要内容,如果未能解决你的问题,请参考以下文章