拿这道题做的https://www.luogu.com.cn/problem/P5318
被卡了N长时间求助QAQ总不对啊
#include<bits/stdc++.h>
using namespace std;
vector<int>mp[101000];
bool vis[100100];
int n,m;
void link(int x,int y)
{
mp[x].push_back(y);
mp[y].push_back(x);
}
void dfs(int u)
{
if(!vis[u])
{
vis[u]=true;
cout<<u<<' ';
for(int p=0;p<=mp[u].size()-1;p++)
if(!vis[mp[u][p]])
dfs(mp[u][p]);
}
}
bool cmp(int x,int y)
{
return x<y;
}
int main()
{
cin>>n>>m;
for(int p=1,x,y;p<=m;p++)
{
cin>>x>>y;
link(x,y);
}
for(int p=1;p<=n+1;p++)
sort(mp[p].begin(),mp[p].end(),cmp);
memset(vis,false,sizeof(vis));
dfs(1);
}