咋弄都是WA#8,dalao们能帮忙优化一下吗
#include<bits/stdc++.h>
#define ri register int
#define ll long long
#pragma G++ optimize(3)
using namespace std;
const int maxn=100010;
struct node{
int to,next;
}edge[100001];
int head[100001],cnt=1,n,m,ans=0;
bool bj[100001]={0};
inline void add(int u,int v)
{
edge[cnt].to=v;
edge[cnt].next=head[u];
head[u]=cnt++;
}
void dfs(int u)
{
if(bj[u])
return;
bj[u]=1;
ans=max(ans,u);
for(int i=head[u];i!=-1;i=edge[i].next)
{
int v=edge[i].to;
dfs(v);
}
}
int main ()
{
cin>>m>>n;
memset(head,-1,sizeof(head));
for(int i=1;i<=n;i++)
{
int u,v;
cin>>u>>v;
add(u,v);
}
for(int i=1;i<=m;i++)
{
ans=0;
memset(bj,0,sizeof(bj));
dfs(i);
cout<<ans<<" ";
}
return 0;
}