#include<bits/stdc++.h>
using namespace std;
vector<int>e[1000];
bool vis[100][100];
stack<int>s;
void dfs(int x){
for(int i=0;i<e[x].size();i++){
if(!vis[x][e[x][i]]){
vis[x][e[x][i]]=true;
dfs(e[x][i]);
s.push(e[x][i]);
}
}
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
e[u].push_back(v);
e[v].push_back(u);
}
dfs(1);
while(!s.empty()) {
cout<< s.top() << endl;
s.pop();
}
}
感觉是DFS的问题P6066