提交时间:2022-06-11 17:10:50

运行 ID: 41343

#include<bits/stdc++.h> using namespace std; int st[200],r[200],n,t,m,bg=1,h[200],e[200],a,b,ne[200],idx,num[200]; void add(int a,int b){e[idx]=b,ne[idx]=h[a],num[a]++,h[a]=idx++;} void p(){ for(int i=1;i<=m;i++)cout<<r[i]<<" "; } void dfs(int d){ st[d]=1; for(int i=h[d];i+1;i=ne[i]){ int j=e[i]; if(!st[j])r[++t]=j,dfs(j); if(t==m)p(); r[t--]=0; } } int main(){ memset(h,-1,sizeof(h)); cin>>n>>m; for(int i=1;i<=m;i++)cin>>a>>b,add(a,b),add(b,a); for(int i=1;i<=n;i++)if(num[i]%2)bg=i; dfs(bg); return 0; }