拓撲排列(DAG)



問題

 

拓撲排列

 

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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章