uva820 Internet Bandwidth
就是模板...
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn = ;
#define inf 1<<30
int n;
int a[maxn],p[maxn];
struct edge
{
int from,to,w,cap,flow;
edge(int from,int to,int cap,int flow):from(from),to(to),cap(cap),flow(flow){
}
};
vector<edge> edges;
vector<int> g[maxn];
void init(int k)
{
for(int i=;i<=k;i++)g[i].clear();
edges.clear();
} void addedge(int from,int to,int cap)
{
edges.push_back(edge(from,to,cap,));
edges.push_back(edge(to,from,cap,));
int m=edges.size();
g[from].push_back(m-);
g[to].push_back(m-);
}
int Max_flow(int s,int t)
{
int flow=;
while()
{
queue<int> q;
memset(a,,sizeof(a));
q.push(s);
a[s]=inf;
while(!q.empty())
{
int x = q.front();q.pop();
for(int i=;i<g[x].size();i++)
{
edge &e=edges[g[x][i]];
if(!a[e.to]&&e.cap>e.flow)
{
p[e.to]=g[x][i];
a[e.to]= min(a[x],e.cap-e.flow);
q.push(e.to);
}
}
if(a[t])break;
}
if(!a[t])break;
for(int i=t;i!=s;i=edges[p[i]].from)
{
edges[p[i]].flow+=a[t];
edges[p[i]^].flow-=a[t];
}
flow+=a[t];
}
return flow;
}
int main()
{
int cas = ;
while(scanf("%d",&n)&&n)
{
int s,t,c;
int u,v,cap;
init(n);
scanf("%d%d%d",&s,&t,&c);
for(int i=;i<c;i++)
{
scanf("%d%d%d",&u,&v,&cap);
addedge(u,v,cap);
}
printf("Network %d\nThe bandwidth is %d.\n\n",++cas,Max_flow(s,t));
}
}
uva820 Internet Bandwidth的更多相关文章
- UVA-820 Internet Bandwidth (最大流)
题目大意:单源单汇无向网络求最大流. 题目分析:入门级别的题.但是ISAP在这儿好像不大好使?... 代码如下: # include<iostream> # include<cstd ...
- light oj 1153 - Internet Bandwidth【网络流无向图】
1153 - Internet Bandwidth PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...
- UVA 820 Internet Bandwidth 因特网宽带(无向图,最大流,常规)
题意:给一个无向图,每条边上都有容量的限制,要求求出给定起点和终点的最大流. 思路:每条无向边就得拆成2条,每条还得有反向边,所以共4条.源点汇点已经给出,所以不用建了.直接在图上跑最大流就可以了. ...
- UVA 820 Internet Bandwidth
题意: 给出双向图,求给出两点的流通总流量. 分析: 网络流中的增广路算法. 代码: #include <iostream>#include <cstring>#include ...
- UVa 820 Internet Bandwidth (裸板网络流)
题意:有一个计算机网络,输入节点数n,输入网络流源点和汇点src,des,再输入双向边数m.给出m条边的负载,求最大流. 析:直接上网络流的最大流. 代码如下: #pragma comment(lin ...
- UVA - 820 Internet Bandwidth(最大流模板题)
题目: 思路: 直接套最大流的模板就OK了,注意一下输出的格式. 代码: #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define M ...
- UVA - 820 Internet Bandwidth (因特网带宽)(最大流)
题意:给出所有计算机之间的路径和路径容量后,求出两个给定结点之间的流通总容量.(假设路径是双向的,且两方向流动的容量相同) 分析:裸最大流.标号从1开始,初始化的时候注意. #pragma comme ...
- Remote Displayer for Android V1.2
VERSION LOG for Android Remote Displayer Features:The app allows you to see your Android device remo ...
- PF防火墙
PF防火墙 点击认领 PF防火墙 ( 全称:Packet Filter ) 是 UNIX LIKE 系统上进行 TCP/IP 流量过滤和网络地址转换的软件系统.PF 同样也能提供 TCP/ ...
随机推荐
- vue-resourse 提交表单 使用formData
通过formData对象可以组装一组用XMLHttpRequest发送请求的键/值对.它可以更灵活方便的发送表单数据,因为可以独立于表单使用.如果把表单的编码类型设置为multipart/form-d ...
- k8s-网络插件flannel-十八
一.kubernetes的网络模式 (1)Kubernetes网络需要解决的问题 集群内: 容器与容器之间的通信 Pod和Pod之间的通信 Pod和服务之间的通信 集群外: 外部应用与服务之间的通信 ...
- hibernate的基础学习--一对多关联
基本的用户和部门类,只有uuid和名称,没有其余字段. 配置文件 部门: <?xml version="1.0" encoding="utf-8" ?&g ...
- C++经典面试题库 附带参考答案
1. 面向对象的程序设计思想是什么? 答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象. 2. 什么是类? 答:把一些具有共性的对象归类后形成一个集合,也就是所谓的类. 3. ...
- 7天学完Java基础之3/7
API概述 什么叫做API? API(Application Programming lnterface),应用程序编程接口. 所谓API就是值好多的类,好多的方法,JDK给我们提供了很多现成的类,我 ...
- NOIp 2015真题模拟赛 By cellur925
果然我还是最菜的==不接受反驳== Day1 T1:神奇的幻方 思路:直接模拟即可,由于当前放法只与上一放法有关系,用两个变量记录一下即可.10分钟内切掉== 预计得分:100分 实际得分:100分 ...
- Item
抓取的主要目标是从非结构化源(通常是网页)中提取结构化数据 ScrapySpider可以以python字典的形式返回提取的数据,这很方便和熟悉 但python dicts缺乏结构,很容易在字段名中输入 ...
- Minimal string CodeForces - 797C
Minimal string CodeForces - 797C 题意:有一个字符串s和空串t和u,每次操作可以将s的第一个字符取出并删除然后放到t的最后,或者将t的最后一个字符取出并删除然后放到u的 ...
- pwa-serviceWorker与页面通信postMessage
https://ppt.geekbang.org/list/gmtc2018?from=groupmessage&%3Bisappinstalled=0 http://www.sohu. ...
- h5-23-百度地图api
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...