时间复杂度O(n+m)
int tuopu(int n)
{
queue<int >q;
for(int i=1; i<=n; ++i)
{
if(indgree[i]==0)
{
q.push(i);
}
}
while(!q.empty())
{
int u=q.front();
q.pop();
for(int i=head[u]; ~i; i=edge[i].next)
{
int v=edge[i].to;
cnt++;
indgree[v]--;
if(indgree[v]==0)
{
q.push(v);
}
}
}
}