int q[N], in[N];
void top_sort()
{
int hh = 0, tt = -1;
for(int i = 1; i <= n; i ++) if(!in[i]) q[++ tt] = i;
while(hh <= tt)
{
int t = q[hh ++];
for(int i = h[t]; ~i; i = ne[i])
if(!--in[e[i]])
q[++ tt] = e[i];
}
if(tt == n - 1) for(int i = 0; i <= tt; i ++) cout << q[i] << " ";
else cout << "-1\n";
}
topsort
发布时间 2023-03-28 15:48:15作者: lfyszy