找了1个多小时的错都没找到,求大佬帮忙找错
#include<bits/stdc++.h>
using namespace std;
const long long MAXN=1e10;
long long n,m,s,t,x,y,z,cnt,ans;
bool book[201];
long long dis[201];
long long first[201],next[10001],to[10001],w[10001],now[10001];
void add(long long x,long long y,long long z){
cnt++;next[cnt]=first[x];first[x]=cnt;to[cnt]=y;w[cnt]=z;
}
inline int dfs(long long k,long long exp){
if(k==t) return exp;
long long out=0;
long long v;
for(long long i=now[k];i&&exp;i=next[i]){
v=to[i];
now[k]=i;
if((dis[v]==dis[k]+1)&&w[i]){
long long ll=dfs(v,min(exp,w[i]));
w[i]-=ll;
w[i^1]+=ll;
exp-=ll;
out+=ll;
}
}
return out;
}
inline bool bfs(){
queue<int> q;
for(long long i=1;i<=n;i++)
dis[i]=MAXN;
q.push(s);
dis[s]=0;
now[s]=first[s];
while(!q.empty()){
for(long long i=first[q.front()];i;i=next[i]){
long long v=to[i];
if(w[i]&&dis[v]==MAXN){
dis[v]=dis[q.front()]+1;
q.push(v);
now[v]=first[v];
if(v==t) return 1;
}
}
q.pop();
}
return 0;
}
int main(){
scanf("%lld%lld%lld%lld",&n,&m,&s,&t);
while(m--){
scanf("%lld%lld%lld",&x,&y,&z);
add(x,y,z);
add(y,x,0);
}
while(bfs()){
ans+=dfs(s,MAXN);
}
cout<<ans<<endl;
}