nbu 2427 Pigs(二)

2014-11-24 08:53:02 · 作者: · 浏览: 4
k,a,b;
p.init(n+m+2);
for(i=1;i<=m;i++){
scanf("%d",&b);
p.insert(0,n+i,b);
}
clr_all(sz,0);
for(i=1;i<=n;i++){
scanf("%d",&k);
while(k--){
scanf("%d",&a);
p.insert(n+a,i,INF);
tmp[a][sz[a]++]=i;
}
scanf("%d",&b);
p.insert(i,n+m+1,b);
}
clr_all(vis,0);
for(i=1;i<=m;i++){
for(j=1;j
int u=tmp[i][j-1],v=tmp[i][j];
if(!vis[u][v]) vis[u][v]=1,p.insert(u,v,INF);
}
}
printf("%d\n",p.maxFlow(0,n+m+1));
}
void preSof(){
}
int main(){
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
preSof();
//run();
while(~scanf("%d%d",&m,&n)) run();
//for(scanf("%d",&TS);cas<=TS;cas++) run();
return 0;
}