Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <set>using namespace std ;int n , m , u , v ;multiset<int> e[1009] ;void DFS(int u) {while ( !e[u].empty() ) {int v = *e[u].begin() ;e[u].erase(e[u].find(v)) ;e[v].erase(e[v].find(u)) ;DFS(v) ;}printf("%d " , u) ;}int main() {scanf("%d%d" , &n , &m) ;for ( int i = 1 ; i <= n ; i ++ ) e[i].clear() ;while ( m -- ) {scanf("%d%d" , &u , &v) ;e[u].insert(v) ;e[v].insert(u) ;}for ( int i = 1 ; i <= n ; i ++ ) if ( e[i].size() % 2 == 1 || i == n ) {DFS(i) ;break ;}}