标签:
Description
Input
Output
Sample Input
Sample Output
#include <iostream> #include <cstring> #include <cstdio> using namespace std; const int N=510; int i,j,k,m,n; int map[N][N],indegre[N]; void topo() { for(i=1;i<=n;i++) for(j=1;j<=n;j++) { if(indegre[j]==0) { indegre[j]--; //输出这个点后,划去这个点 if(i!=n) cout<<j<<" "; else cout<<j<<endl; for(k=1;k<=n;k++) //划去这个人赢的对手之间的线 { if(map[j][k]==1) indegre[k]--; } break; } } } int main() { int p,q; while(scanf("%d%d",&n,&m)!=EOF) { memset(map,0,sizeof(map)); memset(indegre,0,sizeof(indegre)); for(i=0;i<m;i++) { scanf("%d%d",&p,&q); if(!map[p][q]) { map[p][q]=1; //q输给的对手个数为indegre[q] indegre[q]++; } } topo(); } return 0; }
标签:
原文地址:http://www.cnblogs.com/chen9510/p/4739348.html