题目大意:给定一个n个点的连通的无向图,一个点的“鸽子值“定义为将它从图中删去后连通块的个数,求每个点的“鸽子值“
解题思路:双连通分量的裸题。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 10010
#define M 100010
struct Edge{
int to, next;
}E[M];
struct Node{
int id, times;
}node[N];
int head[N], pre[N];
int n, m, tot, dfs_clock;
bool cmp(const Node &a, const Node &b) {
if (a.times == b.