超级玛丽王子 @ 2021-02-27 21:34:12
RT,之前忘了开 ll 还得了 64 分,开完就全 RE 了……
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int inf=1e9,N=250;
int n,m,s,t,g[N][N],pre[N];
int bfs() {
int flow[N];
memset(pre,-1,sizeof(pre));
flow[s]=inf;pre[s]=0;
queue<int>Q; Q.push(s);
while(!Q.empty()) {
int u=Q.front();Q.pop();
if(u==t) break;
for(int i=1;i<=m;++i)
if(i^s&&g[u][i]&&pre[i]==-1) {
pre[i]=u,Q.push(i);
flow[i]=min(flow[u],g[u][i]);
}
}
if(pre[t]==-1) return -1;
return flow[t];
}
int mflow() {
int Mflow=0;
while(true) {
int f=bfs();
if(f==-1) break;
int cur=t;
while(cur^s) {
int fa=pre[cur];
g[fa][cur]-=f;
g[cur][fa]+=f;
cur=fa;
}
Mflow+=f;
}
return Mflow;
}
signed main(void) {
scanf("%d%d%d%d",&n,&m,&s,&t);
for(int i=0;i<m;++i) {
int u,v,w;
scanf("%d%d%lld",&u,&v,&w);
g[u][v]+=w;
}
printf("%lld\n",mflow());
return 0;
}
by 超级玛丽王子 @ 2021-02-27 21:45:48
调试显示炸在了这一行:
flow[i]=min(flow[u],g[u][i]);
by _5011_ @ 2021-02-28 21:19:58
%d
读 long long
by zmza @ 2021-02-28 21:53:59
@超级玛丽王子 读long long用%lld
by WanderingTrader @ 2021-02-28 21:58:03
@超级玛丽王子 除了楼上的问题之外,如果还不能AC,把inf调大一点试试
by 超级玛丽王子 @ 2021-03-01 12:58:52
@w33z8kqrqk8zzzх33 草我是sb
顺便尛 ClCN