#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int n,m,d[N];
bool g[N][N];
int k,a[N];
int dfs(int u){
for(int i=1;i<=n;i++){
if(g[u][i]){
g[u][i]=g[i][u]=0;
dfs(i);
}
}
k++;
a[k]=u;
}
int main(){
cin>>n>>m;
int u,v;
for(int i=1;i<=m;i++){
cin>>u>>v;
g[u][v]=g[v][u]=1;
d[u]++;
d[v]++;
}
int st=1;
for(int i=1;i<=n;i++){
if(d[i]%2!=0){
st=i;
break;
}
}
dfs(st);
for(int i=1;i<=k;i++){
cout << a[i] <<" ";
}
cout<<endl;
return 0;
}
在一本通中,此代码的点六一直都是错的,例题都是正确的,也不知道错哪了,请各位!