图的遍历
  • 板块灌水区
  • 楼主wmsdzh123
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/7/25 15:11
  • 上次更新2023/10/27 18:30:11
查看原帖
图的遍历
731895
wmsdzh123楼主2022/7/25 15:11
#include<bits/stdc++.h>
using namespace std;
vector<int> vec[100001];
int n,m; 
int giant[100001];
void dfs(int v,int x){
	if(giant[v])
		return;
	giant[v]=x; 
	for(int i=0;i<vec[v].size();i++)
		dfs(vec[v][i],giant[v]);
}
int main(){
	int v1,v2;
	cin>>n>>m;
	for(int i=0;i<m;i++){
		cin>>v1>>v2;
		vec[v2].push_back(v1); 
	}
	for(int i=n;i>=1;i--)
		dfs(i,i);
	for(int i=1;i<=n;i++)
		cout<<giant[i]<<" ";
	return 0;
}
2022/7/25 15:11
加载中...