hdu1285確定比賽名次 拓撲排序 優先佇列

2022-05-01 13:24:06 字數 607 閱讀 3559

傳送門

第一道拓撲排序題

每次刪除入度為0的點,並輸出

這題要求隊名小的排前面,所以要用到過載的優先佇列

1 #include2

using

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 }

view code

確定比賽名次 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進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從...