Kahn算法:1)从有向图中选一个没有入度的顶点
2)从图中删除所有和它有关的边
3)重复上述步骤,直至所有顶点输出,或者只剩下环
(可以判断一个图是否有环)
暴力解法:
queue<int>q;
while(!q.empty()) q.pop();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(!vis[j])
{
for(int k=1;k<=n;k++)
if(v[j][k]) vis[k]--;
q.push(j);
vis[j]--;
break;
}
}
}
while(!q.empty()) { cout<<q.top()<<" "; q.pop(); }