確定比賽名次

2021-08-08 17:34:24 字數 679 閱讀 4844

題目**:確定比賽名次

這一題就是典型的拓撲排序的題目:輸出比賽排名,但是有一點要求,符合條件的排名可能不是唯一的,此時要求輸出時編號小的隊伍在前;輸入資料保證是正確的,即輸入資料確保一定能有乙個符合要求的排名。那麼不能在使用常規的queue來實現,而必須採用priority_queue,greater>q;這個是乙個小頂堆,每次彈出堆中最小的元素。(這裡順便提一下大頂堆priority_queueq;每次取出的元素是堆中最大的元素!)

#include#include#include#includeusing namespace std;

priority_queue, greater>q;

vectoredge[600];

int main()

for (int i = 0; i < m; i++)

while (q.empty() == false)

q.pop();

for (int i = 1; i <= n ; i++)

int cnt = 0;

//int *ans = new int[n];

while (!q.empty())

}/*for (int i = 0; i < n; i++)

*/} return 0;

}

確定比賽名次

description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序確定排名。inp...

確定比賽名次

problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序...

確定比賽名次

description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序確定排名。inp...