提交时间:2022-06-30 21:29:04
运行 ID: 42499
#include<bits/stdc++.h> using namespace std; int n,m,t[101][101],d[101]; int start=1; stack<int> st; void dfs(int i){ st.push(i); for(int j=1;j<=n;j++){ if(t[i][j]){ t[i][j]=t[j][i]=0; dfs(j); } } } int main(){ cin>>n>>m; while(m--){ int a,b; cin>>a>>b; t[a][b]=t[b][a]=1; d[a]++,d[b]++; } for(int i=1;i<=n;i++){ if(d[i]%2){ start=i; break; } } dfs(start); while(st.size()){ cout<<st.top()<<" "; st.pop(); } return 0; }