#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,dfs1[100005];
vector<int> a[100005];
void dfs(int b,int c){
if(dfs1[b]){
return ;
}
dfs1[b]=c;
int z=(int)(a[b].size());
for(int i=0;i<z;i++){
dfs(a[b][i],c);
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x>>y;
a[y].push_back(x);
}
for(int i=n;i>=1;i--){
dfs(i,i);
}
for(int i=1;i<=n;i++){
cout<<dfs1[i]<<" ";
}
}
所以在简单版里也能AC?