这样写的话可以过
if(vis[e[now][i].second]) continue; else vis[e[now][i].second] = 1;
但这样写为什么错了?
if(e[now][i].second != in) dfs(e[now][i].first, e[now][i].second);
存图时是将边的编号压入了pair的second
e[u].pb(mp(v, i)); e[b].pb(mp(u, i));