傳送門
第一道拓撲排序題
每次刪除入度為0的點,並輸出
這題要求隊名小的排前面,所以要用到過載的優先佇列
1 #include2view codeusing
namespace
std;
3 priority_queue,greater > q;//
優先佇列預設是值越大,優先順序越高,這裡過載了,公升序排列 4];
5void topo(intn)6
11int c=1;12
while(!q.empty())
13else
2125
for(int i=1;i<=n;i++)//
刪除該頂點
2631
in[i]--;//
目標頂點的入度減1
32if(!in[i])q.push(i); //
目標頂點入度==0,就入隊 33}
34}35}
36int
main()
3752
topo(n); 53}
5455
return0;
56 }
確定比賽名次 HDU 1285 ,拓撲
有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序確定排名。input輸入有若干組,每組中...
HDU 1285 確定比賽名次 拓撲排序
problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序...
拓撲排序 HDU 1285 確定比賽名次
g 確定比賽名次 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從...