代码
#include<bits/stdc++.h>
using namespace std;
int mp[505][505];
queue<int> ans;
int du[505];
int n=0,m,u,v;
void dfs(int i)
{
for(int j=1;j<=n;j++)
{
if(mp[i][j]>=1)
{
mp[i][j]--;
mp[j][i]--;
dfs(j);
}
}
ans.push(i);
}
int main()
{
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>u>>v;
mp[u][v]++;
mp[v][u]++;
du[u]++;
du[v]++;
n=max(n,max(u,v));
}
int start=1;
for(int i=1;i<=n;i++)
{
if(du[i]%2==1)
{
start=i;
break;
}
}
dfs(start);
int len=ans.size();
int ansans[len];
int cnt=0;
while(!ans.empty())
{
ansans[cnt++]=ans.front();
ans.pop();
}
for(int i=len-1;i>=0;i--)
{
cout<<ansans[i]<<endl;
}
return 0;
}
记得点赞+关注+收藏!!!谢谢!!!