usaco Telecowmunication(网络流)
来源:互联网 发布:java 编写的程序实例 编辑:程序博客网 时间:2024/06/14 10:34
这题跟前面一题很像吧就是建图有点麻烦。
注意最后源点和汇点的选择一定得是2*a和2*b-1不然就是错的。
/*ID:jinbo wuTASK:telecowLANG:C++*/#include<bits/stdc++.h>using namespace std;#define inf 100000000struct node{int c,f;}g[220][220];int ans[220];int n,m,a,b;int level[220];int cnt;void init(){for(int i=1;i<=2*n;i++){for(int j=1;j<=2*n;j++)g[i][j].f=0;}}bool bfs(){queue<int> q;memset(level,0,sizeof(level));q.push(2*a);level[2*a]=1;int u,v;while(!q.empty()){u=q.front();q.pop();for(int v=1;v<=2*n;v++){if(!level[v]&&g[u][v].c>g[u][v].f){level[v]=level[u]+1;q.push(v);}}}return level[2*b-1]!=0;}int dfs(int u,int cp){int tmp=cp;int v,t;if(u==2*b-1)return cp;for(v=1;v<=2*n&&tmp;v++){if(level[u]+1==level[v]){if(g[u][v].c>g[u][v].f){t=dfs(v,min(tmp,g[u][v].c-g[u][v].f));g[u][v].f+=t;g[v][u].f-=t;tmp-=t;}} }return cp-tmp;}int dinic(){int sum,tf;sum=tf=0;while(bfs()){while(tf=dfs(a*2,inf)){sum=sum+tf;}} return sum;}int main(){freopen("telecow.in","r",stdin);freopen("telecow.out","w",stdout);int x,y;cin>>n>>m>>a>>b;for(int i=1;i<=m;i++){cin>>x>>y;g[x*2-1][x*2].c=1;g[y*2-1][y*2].c=1;g[x*2][y*2-1].c=inf;g[y*2][x*2-1].c=inf; }int s=dinic();int f=s;int l=0;for(int i=1;i<=n;i++){if(i==a||i==b)continue;init();g[i*2-1][i*2].c=0;if(dinic()+1==s){ ans[l++]=i; cnt++; s--; if(cnt==f) break; } else g[i*2-1][i*2].c=1;}cout<<l<<endl;for(int i=0;i<l-1;i++){cout<<ans[i]<<" "; }cout<<ans[l-1]<<endl; }
0 0
- usaco Telecowmunication(网络流)
- USACO Section 5.4 Telecowmunication - 构图网络流,最小割
- USACO Telecowmunication 解题报告
- usaco 5.4.5 Telecowmunication
- usaco 5.4 Telecowmunication(最小割点集)
- USACO 5.4 Telecowmunication 最小点割集
- Telecowmunication
- 网络流——洛谷P1345 [USACO5.4]奶牛的电信Telecowmunication
- C++——【USACO 5.4.3】——Telecowmunication
- USACO 草地排水 网络流
- USACO 奶牛食品(网络流)
- usaco Drainage Ditches(网络流dinic模板)
- usaco 4.2 Drainage Ditches 网络流
- USACO 4.2.1 网络流 EK
- USACO 4.2 Drainage Ditches 网络流
- USACO 4.2.1 网络流 Dinic
- USACO 4.2.1 网络流 SAP
- [USACO]最短网络
- App Wiget(Android窗体挂件)
- RGB常用对照表(在线工具)
- 插入的数据含有\r\n,但是开始没发现。
- Web前端开发之浏览器
- window系统之mongoDB安装,启动及如何设置为windows服务(总结)
- usaco Telecowmunication(网络流)
- Android四大组件之Service(一)
- QT中自定义编译变量(Buiild var)的使用
- 【iOS】Masonry和FDTemplateLayoutCell搭配使用「UITableview自适应内容高度」
- 关于ArcTan的一个公式--ArcTan(a)+ArcTan(b)
- jQuery中的toggle()方法
- laravel框架MVC解析
- solr同义词的配置
- static静态变量计数