洛谷P3376 模板 網路最大流

2022-05-03 13:00:25 字數 1647 閱讀 7220

如題,給出乙個網路圖,以及其源點和匯點,求出其網路最大流。

輸入格式:

第一行包含四個正整數n、m、s、t,分別表示點的個數、有向邊的個數、源點序號、匯點序號。

接下來m行每行包含三個正整數ui、vi、wi,表示第i條有向邊從ui出發,到達vi,邊權為wi(即該邊最大流量為wi)

輸出格式:

一行,包含乙個正整數,即為該網路的最大流。

輸入樣例#1: 

4 5 4 3

4 2 30

4 3 20

2 3 20

2 1 30

1 3 40

輸出樣例#1: 

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 #include4

using

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 }

view code

洛谷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 一行,包含乙個正整數,即...