#include<iostream>
#include<queue>
#include <bits/stdc++.h>
using namespace std;
int n,m;
const long long INF = 1e9;
vector<int> g[10005];
bool visited1[10005][10005];
bool flag = false;
int ans1[100005];
void dfs(int x,int temp[],int t){
//cout << x << " " << t << endl;
if(flag) return;
if(t == m+1){
for(int i = 0;i < t;i++){
cout << temp[i]+1 << " ";
}
flag = true;
cout << endl;
return;
}
for(int i = 0;i < g[x].size();i++){
int id = g[x][i];
if(!visited1[x][id] && !visited1[id][x]){
//cout << id << "&&" << endl;
temp[t] = id;
visited1[x][id] = 1;
visited1[id][x] = 1;
dfs(id,temp,t+1);
visited1[x][id] = 0;
visited1[id][x] = 0;
}
}
}
int main(){
ios::sync_with_stdio(0);
cin >> n >> m;
int k = 0;
for(int i = 0;i < m;i++){
int a,b;cin >> a >> b;
a--;b--;
g[a].push_back(b);
g[b].push_back(a);
}
for(int i = 0;i < n;i++){
sort(g[i].begin(),g[i].end());
}
ans1[0] = 0;
dfs(0,ans1,1);
if(!flag) cout << "-1" << endl;
}
CCFCSP 送货(70)
最新推荐文章于 2021-06-23 16:35:16 发布