HDU 1285 確定比賽名次(拓撲排序演算法)

2021-07-24 18:45:57 字數 589 閱讀 5337

題目大意:有n個比賽隊(1<=n<=500),編號依次為1,2,3,。。。。,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,

但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在請你程式設計序確定排名。

拓撲排序:是指由某個集合上的乙個偏序得到該集合上的乙個全序的操作。拓撲排序常用來確定乙個依賴關係集中,事物發生的順序。

拓撲排序是對有向無環圖的頂點的一種排序,它使得如果存在一條從頂點a到頂點b的路徑,那麼在排序中b出現在a的後面。

**:

#include #include #include #include using namespace std;

vectormap[505];

int in[505],stamp[505],n,vis[505][505];

void topsort()//拓撲排序

int t=0,pos;

while(!s.empty())

{ stamp[t++]=pos=s.top();

s.pop();

for(int i=0;i

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