#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
int a[110][110],p[110],b[110];
int main(){
int i,j,k,m,n,t;
cin>>m>>n;
for(i=1;i<=n;i++){
cin>>t>>k;
a[t][k]=1;
b[k]++;
}
int cnt=0;
while(1){
if(cnt==m)break;
for(i=1;i<=m;i++)
if(!b[i]&&!p[i]){
p[i]=1;
printf("%d ",i);
cnt++;
for(j=1;j<=m;j++){
if(a[i][j]==1){
b[j]--;
a[i][j]=0;
}
}
}
}
return 0;
}
拓补排序
最新推荐文章于 2025-03-20 19:36:00 发布