P1402 酒店之王
2018-03-04 20:09
239 查看
题目大意:
XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间色调、阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只有固定的q道不同的菜。有一天来了n个客人,每个客人说出了自己喜欢哪些房间,喜欢哪道菜。但是很不幸,可能做不到让所有顾客满意(满意的条件是住进喜欢的房间,吃到喜欢的菜)。
这里要怎么分配,能使最多顾客满意呢?
思路:
网络流的模板题,但是每个顾客要自身建一次点。这样是为了防止到每个顾客流量不为一。程序:
#include<cstdio> #include<cstdlib> #include<iostream> #include<queue> #define inf 10000000 #define N 100000 using namespace std; queue<int> qq; int n,p,q,x,t,cnt,s; int last ,dep ,cur ; struct data{int w,next,to;}e ; void add(int x,int y,int w){ e[++cnt].next=last[x]; last[x]=cnt; e[cnt].to=y; e[cnt].w=w; e[++cnt].next=last[y]; last[y]=cnt; e[cnt].to=x; e[cnt].w=0; } bool bfs(){ for (int i=s;i<=t;i++) dep[i]=0; dep[s]=1; while (!qq.empty()) qq.pop(); qq.push(s); while (!qq.empty()){ int u=qq.front(); qq.pop(); for (int i=last[u];i;i=e[i].next) if (!dep[e[i].to]&&e[i].w){ qq.push(e[i].to); dep[e[i].to]=dep[u]+1; if (e[i].to==t) return 1; } } return 0; } int dfs(int u,int maxf){ if (u==t||!maxf) return maxf; int ret=0; for (int &i=cur[u];i;i=e[i].next) if (dep[e[i].to]==dep[u]+1&&e[i].w){ int f=dfs(e[i].to,min(e[i].w,maxf-ret)); e[i].w-=f; e[i^1].w+=f; ret+=f; if (ret==maxf) break; } return ret; } void dinic(){ int ans=0; while (bfs()){ for (int i=s;i<=t;i++) cur[i]=last[i]; ans+=dfs(s,inf); } printf("%d",ans); } int main(){ cnt=1; scanf("%d%d%d",&n,&p,&q); for (int i=1;i<=n;i++){ int x; for (int j=1;j<=p;j++){ scanf("%d",&x); if (x==1) add(j,p+i,inf);; } } s=0; t=n*2+p+q+1; for (int i=1;i<=n;i++) add(p+i,p+n+i,1); for (int i=1;i<=p;i++) add(0,i,1); for (int i=1;i<=q;i++) add(n*2+p+i,t,1); for (int i=1;i<=n;i++){ int x; for (int j=1;j<=q;j++){ scanf("%d",&x); if (x==1) add(n+p+i,n*2+p+j,inf); } } dinic(); }
相关文章推荐
- 洛谷P1402 酒店之王
- 洛谷P1402 酒店之王
- 【洛谷P1402】酒店之王
- 洛谷 P1402 酒店之王
- 洛谷 P1402 酒店之王
- 洛谷 P1402 酒店之王(dinic模板)
- [洛谷 P1402] 酒店之王|网络流
- 洛谷 P1402 酒店之王
- 洛谷P1402 酒店之王(二分图)
- P1402 酒店之王
- 洛谷 P1402 酒店之王
- 洛谷P1402 酒店之王
- 酒店房间预订和酒店客人信息管理小项目的笔记
- 案例 酒店管理2
- 7天连锁CEO郑南雁:以IT头脑经营酒店
- java酒店管理管理 Jsp酒店管理管理
- 酒店小姐的幽默)
- [英语阅读]澳门酒店高价拍得杰克逊手套
- 酒店点餐系统开发详解(一)
- 【酒店、宾馆】无线局域网方案!~