60分DFS求调!
查看原帖
60分DFS求调!
1364690
yaoshuhang楼主2024/12/11 21:31
#include<bits/stdc++.h>
using namespace std;
vector <int> g[100005];
int ans;
bool vis[100005];
void dfs(int x){
	vis[x]=1;
	ans=max(ans,x);
	for(int i=0;i<g[x].size();++i){
		if(vis[g[x][i]]==0){
			dfs(g[x][i]);
		}
	}
	return;
}
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i){
		int u,v;
		scanf("%d%d",&u,&v);
		g[u].push_back(v);
	}
	for(int i=1;i<=n;++i){
		memset(vis,0,sizeof(vis));
		ans=0;
		dfs(i);
		printf("%d ",ans);
	}
	return 0;
}
2024/12/11 21:31
加载中...