問題
拓撲排列
DAG(Directed Acyclic Graph,有向無環圖)是以有向邊構成的圖中,沒有循環的圖。通過DAG必能做拓撲排列。
當給出DAG時, 請編寫做拓撲排列的程序。
輸入
第一行空格劃分給出圖的頂點個數 V, 邊的個數 E。 (1≤V≤50,000,1≤E≤100,000)
第二行開始通過E行,空格劃分給出每個邊的信息 x,y。這個意味着存在從 x出發到達 y的有向邊。 (1≤x,y≤V,x≠y)
給出的圖必是 DAG , 沒有回到1號的邊。
輸出
第一行輸出拓撲排列的結果。當答案有很多種情況時,可以輸出任意一個。
輸入案例
4 4
1 2
1 3
2 4
3 4
輸出案例
1 2 3 4
혹은
1 3 2 4
#include <cstdio>
using namespace std;
int const maxn = 50001;
int c[maxn];
int topo[maxn];
int main()
{
int v, e;
int temp = scanf("%d%d", &v, &e);
for (int i = 0; i < e; i++)
{
}
return 0;
}