Total Submission(s): 12152 Accepted Submission(s): 4840
拓撲排序模板 利用入度值(每條邊的終點稱為入度入度值即表示該點作為邊的終點的次數)來判定每名選手的位置。
#include#include using namespace std; int team[505],len[505],child[505][505];//team記錄入度值child記錄兩個點(選手排名)之間的聯系 int main() { int a,b,n,m,i,count,min; while(~scanf("%d%d",&n,&m)) { count=0; for(i=1;i<=n;i++)//初始化 { team[i]=0; len[i]=0; } while(m--) { scanf("%d%d",&a,&b); team[b]++; child[a][len[a]++]=b;//構建各個點的聯系 } while(count!=n) { if(count) printf(" "); min=501; for(i=1;i<=n;i++)//找出入度值為零的點(入度為零代表該選手沒有輸過) { if(team[i]==0&&i