@[Stevehim](/user/759274)
原图不一定是联通图,可能是好几个分开的连通图,要分开各自求每个联通图,所以每次 dfs 完以后 sum 数组要归零,并且计算 ma 的时候是 += 而非 =。
把49~55行的代码改成下面这个就好啦
```cpp
for (int i = 1; i <= n; i++) {
if (!book[i]) {
memset(sum,0,sizeof(sum));
book[i] = 1;
dfs(i, 0);
ma += min(sum[0], sum[1]);
}
}
```
by bobnoon @ 2022-10-27 18:05:28
@[bobnoon](/user/473224) 额谢谢,可是为什么我改完之后甚至还多WA了一个点呢awa
by Stevehim @ 2022-10-27 18:13:40
@[bobnoon](/user/473224) em抱歉是我的问题,谢谢您
by Stevehim @ 2022-10-27 18:14:35