这个是代码,求大佬指导,感谢大佬
#include <iostream>
#include <cstring>
using namespace std;
const int N = 100010;
int n,m;
int idx,h[N],e[N],ne[N];
int t = 0;
int st[N];
void add(int a,int b)
{
e[idx] = b;
ne[idx] = h[a];
h[a] = idx++;
}
void dfs(int u)
{
if(st[u]==1)
{
return;
}
st[u] =1;
for(int i = h[u];i!=-1;i = ne[i])
{
int j = e[i];
if(st[j]==0)
{
t = max(t,j);
dfs(j);
}
}
}
int main()
{
cin>>n>>m;
memset(h,-1,sizeof(h));
while(m--)
{
int a,b;
cin>>a>>b;
add(a,b);
}
for(int i = 1;i<=n;i++)
{
t = i;
dfs(i);
cout<<t<<' ';
}
return 0;
}