Pagini recente » Cod sursa (job #1617931) | Cod sursa (job #2457931) | Cod sursa (job #744231) | Cod sursa (job #664807) | Cod sursa (job #2847759)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
const int dim=1e5+9;
struct elem{
int x,nr;
};
bool fv[dim];
vector<elem>v[dim];
vector<int>ans;
stack<int>stiva;
signed main(){
int n,m;
fin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
fin>>x>>y;
v[x].push_back({y,i});
v[y].push_back({x,i});
}
stiva.push(1);
while(!stiva.empty()){
int x=stiva.top();
int len=v[x].size();
if(len){
int nr=v[x][len-1].nr;
int y=v[x][len-1].x;
if(!fv[nr]){
fv[nr]=true;
stiva.push(y);
}
v[x].pop_back();
}
else{
stiva.pop();
ans.push_back(x);
}
}
int l=ans.size();
for(int i=0;i<l-1;i++){
fout<<ans[i]<<' ';
}
}