求指出
#include <bits/stdc++.h>
using namespace std;
struct str{
int d,zz;
}a[1111];
int n,m,c,b,head[1111],sn=0,bj[1111];
int dfs(int gs){
int da=gs;
bj[gs]=1;
for(int i=head[gs];i;i=a[i].zz){
if(!bj[a[i].d])da=max(da,dfs(a[i].d));
}
return da;
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>c>>b;
a[++sn].zz=head[c];
a[sn].d=b;
head[c]=sn;
}
for(int i=1;i<=n;i++){
cout<<dfs(i)<<endl;
for(int i=1;i<=n;i++){
bj[i]=0;
}
}
return 0;
# }_ ~~**~~~~_