int dfs(int u, int max_flow) { if (u == T) return max_flow; for (int &i = next_v[u]; i < edges[u].size(); i++) { int v = edges[u][i].v, cap = edges[u][i].cap; if (level[u] + 1 == level[v] && cap > 0) { int flow = dfs(v, min(max_flow, cap)); if (flow > 0) { edges[u][i].cap -= flow; edges[v][edges[u][i].ref].cap += flow; return flow; } } } return 0; }


dfs 코드 보니까 위에처럼 next_v[u]에 값 저장해놨다가 시간 줄이던데


걍 이웃한 정점 다 돌면 시간 많이 차이나나?