題意:共n個隊伍,給出m個比賽結果,即u和v比賽,u勝v。求最終的比賽名次,若無法確定優先的,隊伍號小的優先。
思路:裸拓撲排序。
拓撲排序:每次取入度為0的點為優先的點,取出後,刪除該點所連線的邊,重複操作直至所有點取完。
**:(佇列維護可能快一些?)
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int n = 5e2 + 10;
int edge[n][n];
int in[n];
int n, m;
int main()
bool first = true;
for (int i = 0; i < n; i++)
}if (ind != -1) }}
else
}printf("\n");
} return
0;}
確定比賽名次 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進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從...