Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <algorithm>using namespace std;int N, M, Res;int f[100005];int son[20004], pa[20004], Ecnt, Dcnt, Dfn[20004], Low[20004], Stk[100005], Scnt;int getf(int x){if (f[x] == x) return x;return f[x] = getf(f[x]);}inline void Merge(int x, int y){int X = getf(x), Y = getf(y);if (X != Y){if (X > Y) swap(X, Y);f[Y] = X;}}struct Edge{int next, link, id;} ed[200005];inline void Add(int u,int v,int i)