Pagini recente » Cod sursa (job #273101) | Cod sursa (job #2924785) | Cod sursa (job #3146333) | Cod sursa (job #2975576) | Cod sursa (job #2734305)
#include<vector>
#include<fstream>
#include<map>
using namespace std;
ifstream cin("ciclueuler.in");
ofstream cout("ciclueuler.out");
struct muchie
{
int x,y,folosit;
}e[500005];
vector<int>c;
vector<pair<int,int>>v[100005];
void euler(int nod){
for(auto x: v[nod]){
if(e[x.second].folosit){
continue;
}
e[x.second].folosit=1;
euler(x.first);
}
c.push_back(nod);
}
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>e[i].x>>e[i].y;
v[e[i].x].push_back({e[i].y,i});
v[e[i].y].push_back({e[i].x,i});
}
euler(1);
if(c.size()==m+1){
c.erase(c.begin()+m);
for(auto x: c){
cout<<x<<" ";
}
}
else{
cout<<-1;
}
return 0;
}