#include <cstdio>
#include <queue>
#include <stack>
#include <cstring>
#include <iostream>
using namespace std;
const int NN=210;
const int MM=100000;
const int INF=0x3fffffff;
inline int Abs(int x)
{
if (x>=0) return x;
else return -x;
}
int n,m,S,T,NV,en,head[NN];
struct Edge
{
int u,v,f,c,next;
} e[MM];
inline void add(int u,int v,int c,int f1,int f2)
//这题的很多版本的流量都是用的邻接矩阵,我写惯了邻接表,强迫症下不喜欢矩阵了~
{
e[en].u=u;
e[en].v=v;
e[en].c=c;
e[en].f=f1;
e[en].next=head[u];
head[u]=en++;
e[en].u=v;
e[en].v=u;
e[en].c=-c;
e[en].f=f2;
e[en].next=head[v];
head[v]=en++;
}
int dis[NN],cou[NN],p[NN];
bool vis[NN];
int circle_spfa()
{
int i,u,v;
stack<int> q;//找圈的spfa用栈感觉比用队列好,栈是深度优先的
for (i=0; i<NV; i++) dis[i]=INF,cou[i]=vis[i]=0;
dis[T]=0;
POJ2175-最小费用流消圈算法
最新推荐文章于 2023-02-18 16:00:54 发布