居然不是EK,我不是很认可![](//图.tk/k)
by ACRUSHj @ 2023-08-14 13:37:21
一楼代码有误
现在换个问题(
请问以下两种输出方案的方法为什么只有 1 是对的:
### 1
```
int vis[N];
void dfs(int now) {
vis[now] = 1;
for (int i = head[now]; i; i = nxt[i])
if (!vis[to[i]] && edge[i]) dfs(to[i]);
}
// 在 main 函数中
dfs(s);
vector<int> ans;
for (int i = 2; i <= n * 2; i += 2) {
// cout << to[i ^ 1] << '\n';
if (vis[to[i ^ 1]] && !vis[to[i]]) ans.push_back(to[i ^ 1]);
}
sort(ans.begin(), ans.end());
for (int i : ans) cout << i << ' ';
```
### 2
```cpp
dfs(s);
vector<int> ans;
for (int i = 2; i <= n * 2; i += 2) {
// cout << to[i ^ 1] << '\n';
if (edge[to[i ^ 1]] && !edge[to[i]]) ans.push_back(to[i ^ 1]);
}
sort(ans.begin(), ans.end());
for (int i : ans) cout << i << ' ';
```
by Nicrobot @ 2023-08-14 13:40:04
@[ACRUSHj](/user/925506) Dinic 不是更快一点(
by Nicrobot @ 2023-08-14 14:06:27
@[Nicrobot](/user/363317) 我也遇到了,其实很简单,相同权值全是满流但是你只用割一个。。你看看这个就懂了
```
4 3
1 4
2
1
1
2
1 2
2 3
3 4
```
by creation_hy @ 2024-01-02 01:22:39