確定比賽名次 HDU杭電1285 拓撲排序

2021-07-04 14:20:41 字數 976 閱讀 1257

problem description

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

input

輸入有若干組,每組中的第一行為二個數n(1<=n<=500),m;其中n表示隊伍的個數,m表示接著有m行的輸入資料。接下來的m行資料中,每行也有兩個整數p1,p2表示即p1隊贏了p2隊。

output

給出乙個符合要求的排名。輸出時隊伍號之間有空格,最後一名後面沒有空格。

其他說明:符合條件的排名可能不是唯一的,此時要求輸出時編號小的隊伍在前;輸入資料保證是正確的,即輸入資料確保一定能有乙個符合要求的排名。

sample input

4 3

1 22 3

4 3

sample output

1 2 4 3

#include#include#define n 550

bool map[n][n];

int indegree[n];

int n;

int temp;

int i,j;

void topo()

//if(temp==-1) break;

indegree[temp]=-1;

if(flag)printf("%d",temp);

else printf(" %d",temp);

flag=0;

for(j=1;j<=n;++j)

} } puts("");

}int main()

} topo();

} return 0;

}

杭電 1285 確定比賽名次 拓撲排序入門

傳送門 拓撲排序 按某種順序輸出沒有前驅的點。思路 題目即要求按字典序拓撲排序。ac include include includeusing namespace std int n int par 505 前驅 int ans 505 記錄答案 bool chart 505 505 記錄兩人是否進...

杭電 1285 確定比賽名次(直接拓撲排序)

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

HDU1285 確定比賽名次

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