90tle求救
查看原帖
90tle求救
471331
Harley_Wu楼主2024/11/6 20:45
#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> v[100010];
bool b[100010];
int ans=0;
int dfs(int x)
{ 
    b[x]=1;
    ans=max(ans,x);
	for(int i=0;i<v[x].size();i++)
	{
		if(b[v[x][i]]==0)
		{
			if(v[x][i]>ans) ans=v[x][i];
			b[v[x][i]]=1;
			ans=max(ans,dfs(v[x][i]));
		}
	}
	return ans;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++) 
	{
		int x,y;
		cin>>x>>y;
		v[x].push_back(y);
	}
	for(int i=1;i<=n;i++)
	{
		memset(b,0,sizeof(b));
		ans=0;
		cout<<dfs(i)<<" ";
	}
	cout<<endl;
	return 0;
}
2024/11/6 20:45
加载中...