題目**:確定比賽名次
這一題就是典型的拓撲排序的題目:輸出比賽排名,但是有一點要求,符合條件的排名可能不是唯一的,此時要求輸出時編號小的隊伍在前;輸入資料保證是正確的,即輸入資料確保一定能有乙個符合要求的排名。那麼不能在使用常規的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...