提交时间:2022-08-01 15:48:16

运行 ID: 56154

/* / ̄ ̄ ̄Y ̄ ̄ \     l         l    ヽ,,,,,/  ̄ ̄ ̄ ̄ ヽ?    |:::::        l    |:::   __     |   (6   \●>  <●人    !      )??(  l    ヽ       (三)  ?     /\    二  ノ    /⌒ヽ. ‘ー — 一* \   l    |      ヽo  帅哥保佑,此题必过 */ #include<bits/stdc++.h> int mp[510][510]; int n,ind[510]; void com() { int i,j,top,k=0; for(i=0;i<n;i++) { for(j=1;j<=n;j++) { if(ind[j]==0) { top=j; break; } } if(i==n-1)printf("%d\n",top); else printf("%d ",top); ind[top]--; for(j=1;j<=n;j++)if(mp[top][j])ind[j]--; } } int main() { int i,a,b,m; while(scanf("%d%d",&n,&m)!=EOF) { memset(ind,0,sizeof(ind)); memset(mp,0,sizeof(mp)); for(i=0;i<m;i++) { scanf("%d%d",&a,&b); if(mp[a][b]==0) { mp[a][b]=1; ind[b]++; } } com(); } return 0; }