Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;stack<int>P;int n,A[1003][1003],d[1003];void dfs(int u){int v;for(v=1;v<=n;v++)if(A[u][v]){A[u][v]--,A[v][u]--;dfs(v);}P.push(u);}int main(){int m,u,v,i=1;scanf("%d%d",&n,&m);while(m--)scanf("%d%d",&u,&v),A[u][v]++,A[v][u]++,d[u]++,d[v]++;for(i=1;i<=n;i++)if(d[i]&1)break;if(i>n)i=1;dfs(i);printf("%d",P.top());P.pop();while(!P.empty()){printf(" %d",P.top());P.pop();}