AcWing 1191. 家谱树
拓扑排序:建立一个队列,遍历所有点,将度数为1的点全部加入队列中,之后队内元素依次出队,对出队的点遍历所有临边,将这些临点的入度–,如果临点的入度为0,则加入队列中,重复遍历下去,直到队列为空
#include<bits/stdc++.h>
using namespace std;
const int N = 110, M = N * N / 2;
int n;
int h[N], e[M], ne[M], idx;
int din[N]; //记录每个点的入度
int q[N]