看看bug出在哪
#include<iostream>
using namespace std;
int a[10000],b[10000],n,m;
bool c[10000]={false};
int ans=0;
int Max(int d[],int ans){
int x;
for(int i=1;i<ans;i++){
x=max(d[i],d[i-1]);
}
return x;
}
void dfs(int k,int d[],int ans){
if(c[k]==true){
return ;
}
c[k]=true;
d[ans]=k;
ans+=1;
for(int i=0;i<m;i++){
if(a[i]==k&&c[b[i]]==false){
dfs(b[i],d,ans);
}
}
}
int main(){
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>a[i]>>b[i];
}
for(int i=0;i<n;i++){
int ans=0;
int d[10000]={0};
dfs(i,d,ans);
cout<<Max(d,ans)<<" ";
}
return 0;
}