import random from mincost_maxflow import MinCostMaxFlow def brute_min_cost(n, edges, s, t, maxf): INF = float("inf") g = [[] for _ in range(n)] for (u, v, cap, cost) in edges: fi = len(g[u]); ri = len(g[v]) g[u].append([v, cap, cost, ri]) g[v].append([u, 0, -cost, fi]) flow = 0; cost = 0 while flow < maxf: dist = [INF]*n; prevv=[-1]*n; preve=[-1]*n dist[s]=0 for _ in range(n): upd=False for u in range(n): if dist[u]==INF: continue for i,e in enumerate(g[u]): v,cap,cc,_=e if cap>0 and dist[u]+cc