如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。
輸入格式:
第一行包含四個正整數n、m、s、t,分別表示點的個數、有向邊的個數、源點序號、匯點序號。
接下來m行每行包含三個正整數ui、vi、wi,表示第i條有向邊從ui出發,到達vi,邊權為wi(即該邊最大流量為wi)
輸出格式:
一行,包含乙個正整數,即為該網路的最大流。
輸入樣例#1:
4 5 4 3輸出樣例#1:4 2 30
4 3 20
2 3 20
2 1 30
1 3 40
50時空限制:1000ms,128m
資料規模:
對於30%的資料:n<=10,m<=25
對於70%的資料:n<=200,m<=1000
對於100%的資料:n<=10000,m<=100000
樣例說明:
題目中存在3條路徑:
4-->2-->3,該路線可通過20的流量
4-->3,可通過20的流量
4-->2-->1-->3,可通過10的流量(邊4-->2之前已經耗費了20的流量)
故流量總計20+20+10=50。輸出50。
1 #include2 #include3 #include4view codeusing
namespace
std;
5const
int maxn=1e4+10;6
const
int maxm=1e5+10;7
int n,m,s,t,tot=1;8
int head[maxn],p[maxn],dis[maxn],q[maxn*2];9
bool
vis[maxn];
10long
long
read()
1120
while(ch>='
0'&&ch<='9'
)2125return x*f;26}
27struct
node
28 e[maxm<<1
];31
void add(int x,int y,int
z)32
;37 head[x]=tot;
38 e[++tot]=(node)39;
42 head[y]=tot;43}
44bool
bfs()
4561}62
}63return dis[t]!=-1;64
}65int dfs(int x,int
f)6681}
82return
used;83}
84int
dinic()
8593
return
ans;94}
95int
main()
96104 printf("%d"
,dinic());
105return0;
106 }
洛谷P3376 模板 網路最大流
如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含三個正整數ui vi wi,表示第i條有向邊從ui出發,到達vi,邊權為wi 即該邊最大流量為wi 輸出格式 一行,包含乙個正...
洛谷 P3376 模板 網路最大流
題目描述 如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。輸入格式 第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含三個正整數ui vi wi,表示第i條有向邊從ui出發,到達vi,邊權為wi 即該邊最大流量為wi 輸出格式 一行,...
洛谷 P3376 模板 網路最大流
題目傳送門 如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。第一行包含四個正整數n m s t,分別表示點的個數 有向邊的個數 源點序號 匯點序號。接下來m行每行包含三個正整數ui vi wi,表示第i條有向邊從ui出發,到達vi,邊權為wi 即該邊最大流量為wi 一行,包含乙個正整數,即...