题目描述
这是一道模板题。
n 个点,m 条边,每条边 e 有一个流量下界lower(e) 和流量上界upper(e) ,求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。
输入格式
第一行两个正整数 n, m。
之后的 m 行,每行四个整数 s, t, lower, upper。
输出格式
如果无解,输出一行 NO。
否则第一行输出 YES,之后 m 行每行一个整数,表示每条边的流量。
样例一
输入
4 6
1 2 1 2
2 3 1 2
3 4 1 2
4 1 1 2
1 3 1 2
4 2 1 2
输出
NO
样例二
输入
4 6
1 2 1 3
2 3 1 3
3 4 1 3
4 1 1 3
1 3 1 3
4 2 1 3
输出
YES
1
2
3
2
1
1
数据范围与提示
1 ≤ n ≤ 200 , 1 ≤ m ≤ 10200 1 \le n \le 200, 1 \le m \le10200 1≤n≤200,1≤m≤10200
思路
经典网络流建图模型
建新图,使新图从汇点跑最大流 是 原图的 一组可行方案
AC代码
#include <bits/stdc++.h>
#define buff \
ios::sync_with_stdio(false); \
cin.tie(0);
//#define int long long
#define INF 0x3f3f3f3f
using namespace std;
const int N = 209, M = 30000;
int n, m;
int e[M], h[N], ne

本文介绍了一道关于网络流的经典模板题,题目要求在满足流量上下界和节点流量平衡的条件下,找出一组可行的流量分配方案。文章提供了输入输出格式,样例及数据范围,并给出了一段C++实现的 Dinic 算法代码来解决此问题。通过该代码,可以判断是否存在满足条件的流量分配并输出相应的流量分配情况。
【模板】&spm=1001.2101.3001.5002&articleId=125697055&d=1&t=3&u=4c83113e6bbf4b5b82405ccd962d0e40)
413

被折叠的 条评论
为什么被折叠?



