poj 1966 Cable TV Network
来源:互联网 发布:ubuntu好玩的命令 编辑:程序博客网 时间:2024/05/01 03:04
枚举源点和汇点。
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn=109,inf=1e8;int n,m;int a[maxn][maxn];int que[maxn],level[maxn];int head[maxn],lon;struct{ int next,to,c;}e[maxn*maxn<<1];void edgeini(){ memset(head,-1,sizeof(head)); lon=-1;}void edgemake(int from,int to,int c){ e[++lon].c=c; e[lon].to=to; e[lon].next=head[from]; head[from]=lon;}int makelevel(int s,int t){ memset(level,0,sizeof(level)); int front=1,end=0; que[++end]=s; level[s]=1; while(front<=end) { int u=que[front++]; if(u==t) return true; for(int k=head[u];k!=-1;k=e[k].next) { int v=e[k].to; if(!level[v]&&e[k].c) { que[++end]=v; level[v]=level[u]+1; } } } return false;}int dfs(int now,int t,int maxf){ if(now==t) return maxf; int ret=0; for(int k=head[now];k!=-1;k=e[k].next) { int u=e[k].to; if(e[k].c&&level[u]==level[now]+1) { int f=dfs(u,t,min(maxf-ret,e[k].c)); e[k].c-=f; e[k^1].c+=f; ret+=f; if(ret==maxf) return ret; } } return ret;}int maxflow(int s,int t){ int ret=0; while(makelevel(s,t)) { ret+=dfs(s,t,inf); } return ret;}int solve(int s,int t){ edgeini(); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) if(a[i][j]) { edgemake(i*2,j*2-1,inf); edgemake(j*2-1,i*2,0); edgemake(j*2,i*2-1,inf); edgemake(i*2-1,j*2,0); } for(int i=1;i<=n;i++) { edgemake(i*2,i*2-1,1); edgemake(i*2-1,i*2,1); } return maxflow(s*2,t*2-1);}int main(){// freopen("in.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF) { memset(a,0,sizeof(a)); for(int i=1,from,to;i<=m;i++) { char tmp; while(scanf("%c",&tmp),tmp!='(') ; scanf("%d",&from); while(scanf("%c",&tmp),tmp!=',') ; scanf("%d",&to); while(scanf("%c",&tmp),tmp!=')') ; from++,to++; a[from][to]=a[to][from]=1; } int ans=n; for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) ans=min(ans,solve(i,j)); cout<<ans<<endl; } return 0;}
- POJ 1966 Cable TV Network
- poj 1966 Cable TV Network
- poj 1966 Cable TV Network
- POJ 1966 Cable TV Network
- POJ 1966 Cable TV Network(证明有误)
- Cable TV Network- POJ 1966 连通量
- POJ 1966 Cable TV Network 最小割
- POJ 1966 Cable TV Network 笔记
- poj 1966 Cable TV Network 点联通度
- POJ 1966 Cable TV Network 顶点连通度的求解
- POJ 1966 - Cable TV Network 暴力枚举+最小点割
- poj 1966 Cable TV Network 点连通度
- POJ 1966 Cable TV Network 枚举最小割
- POJ 1966 Cable TV Network | 最小点割集、最小割
- POJ 1966 / ZOJ 2182 : Cable TV Network - 顶点连通度
- 【连通图|点连通度】POJ-1966 Cable TV Network
- poj 1966 Cable TV Network 顶点连通度-最大流
- POJ 1966 Cable TV Network(顶点连通度)
- ZZ送给参加ACM同学的忠告 (很喜欢最后一段文字)
- DOM解析xml文件
- 12、tcp的超时和重传
- Jdom读写XML文件代码
- 关于ActionContext.getContext()的用法心得
- poj 1966 Cable TV Network
- 13、tcp的坚持计时器、保活计时器
- 凸优化简介
- iOS app detect jailbreak
- JfreeChart
- 0,1背包问题
- 14、tcp未来的发展
- akamai:与看视频广告等待相比,用户更不能忍受缓冲等待
- hibernate查询语句总结