图论进阶过题
A - Drainage Ditches
题意
有m个点(从1到m开始编号,1为源点,m为汇点),及n条有向边,给出这n条边所连接的点和所能流过的最大流量,求从源点到汇点能流过的最大流量。
思路
最大流的模板题
AC代码
#include<iostream>
#include<vector>
#include<cstring>
#include<queue>
const int INF = 1e9;
using namespace std;
const int N=200+5;
struct Edge
{
Edge(){}
Edge(int a,int b,int c,int f):a(a),b(b),c(c),f(f){}
int a,b,c,f;
};
struct Dinic
{
int n,m,s,t;
vector<Edge> edges;
vector<int> g[N];
bool vis[N];
int d[N];
int cur[N];
void init(int n,int s,int t)
{
this->n=n,this->s=s,this->t=t;
for(int i=1;i