60分求助
查看原帖
60分求助
377194
ziansheng楼主2023/5/23 19:47
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int>vec[5010];
int ans[5010],cnt=1;
bool vis[5010];
void dfs(int x){
	ans[cnt++]=x;
	vis[x]=true;
	for(int i=0;i<vec[x].size();i++){
		int l=vec[x][i];
		if(!vis[l]){
			dfs(l);	
		}
	}
}
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		vec[u].push_back(v);
		vec[v].push_back(u);
	} 
	for(int i=1;i<=n;i++){
		sort(vec[i].begin(),vec[i].end());
	}
	dfs(1);
	for(int i=1;i<=n;i++){
		cout<<ans[i]<< " ";
	}
	cout<<endl;
	return 0;
}
2023/5/23 19:47
加载中...