poj 1698 Alice's Chance SAP 最大流
2014-08-31 15:48
148 查看
【题意】:Alice有n部电影要拍,规定爱丽丝每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影要拍d天,问爱丽丝能不能拍完所有的电影
【建图】:源点与每部电影连边,容量为天数,每部电影与可以拍该电影的那些天数连边,容量为1,再所有的天数与汇点连边容量为1。 要注意天数和汇点连边的时候不要重复了,我这里用的数组不会出现这种情况。
【建图】:源点与每部电影连边,容量为天数,每部电影与可以拍该电影的那些天数连边,容量为1,再所有的天数与汇点连边容量为1。 要注意天数和汇点连边的时候不要重复了,我这里用的数组不会出现这种情况。
#include<iostream> #include<vector> #include<cstring> #include<queue> #include<cstdio> using namespace std; #define maxx 400 #define INF 9999999 int c[maxx][maxx],f[maxx][maxx],p[maxx], a[maxx]; void add(int u,int v,int w) { c[u][v]=w; } int maxflow(int s,int t,int n) { queue<int> q; memset(f,0,sizeof(f)); int flow=0; while(1) { memset(a,0,sizeof(a)); a[s] = INF; q.push(s); while(!q.empty()) { int u = q.front(); q.pop(); for(int v = 1; v <= n; v++) if(!a[v] && c[u][v] > f[u][v]) { p[v] = u; q.push(v); a[v] = min(a[u], c[u][v]-f[u][v]); } } if(a[t] == 0) break; for(int u = t; u != s; u = p[u]) { f[p[u]][u] += a[t]; f[u][p[u]] -= a[t]; } flow += a[t]; } return flow; } int main() { int cnt,n; scanf("%d",&cnt); while(cnt--) { scanf("%d",&n); memset(c,0,sizeof(c)); int ok[10],day,week,tt=371,tot=0; for(int i=1; i<=n; i++) { for(int j=0; j<7; j++) scanf("%d",&ok[j]); scanf("%d%d",&day,&week); tot+=day; add(0,i,day); for(int j=0; j<week; j++) for(int k=0; k<7; k++) { if(ok[k]) add(i,j*7+k+n+1,1); add(j*7+k+n+1,tt,1); } } int flow; flow=maxflow(0,tt,tt); //printf("flow %d\n",flow); if(tot==flow) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- poj 1698 Alice's Chance 最大流
- POJ 1698 Alice's Chance(最大流,构图题)
- POJ-1698 Alice's Chance 最大流
- 【最大流之sap】【HDU1532】模板题
- SAP展开最大并购行动 68亿美元收购商业智能软件BO
- HDU2732Leapin' Lizards(最大流SAP,建图---折点法)
- POJ 1698 Alice's Chance 最大流(两种算法)or二分匹配
- POJ_1698_Alice's Chance(最大流)
- zoj 2314 Reactor Cooling--无源汇有上下界最大流--递归sap
- POJ 3281 Dining(最大流dinic&&SAP)
- 画皮SAP:世界最大软件公司的中国真相
- Alice's Chance
- 最大流:SAP+GAP模版
- poj 1149 最大流sap
- POJ 1698 Alice's Chance
- 最大流 sap用法 和 模板
- poj1698 Alice’s Chance(最大流)
- 最大流SAP -邻接表模板
- POJ 1698--Alice's Chance【最大流 && 经典】
- poj 1698 Alice's Chance 【最大流 判断是否满流】