for (int i = 0; i < pre[now].size(); ++i) { dfs(pre[now][i], mayin, mayout, path); } path.pop_back();在dfs时,我感觉path去尾时,应该放在dfs语句下面。因为若有多个结点,则前的几个几个点会影响路径。
for (int i = 0; i < pre[now].size(); ++i) { dfs(pre[now][i], mayin, mayout, path); path.pop_back(); }