Pagini recente » Cod sursa (job #2988806) | Cod sursa (job #1352902) | Cod sursa (job #1357205) | Cod sursa (job #1939497) | Cod sursa (job #1802878)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin ("ciclueuler.in");
ofstream fout ("ciclueuler.out");
struct prb { int nod,mu;};
vector <int> g[100010];
int n,k,st[500010];
void citire (){
int m,i,a,b;
prb val;
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>a>>b;
//val.nod=b;
//val.mu=i;
g[a].push_back(b);
//val.nod=a;
g[b].push_back(a);
}
}
void parcurgere(int x)
{
int i,pp,a=g[x].size(),fiu;
pp=0;
while(a!=0)
{
fiu=g[x].back();
k++;
st[k]=fiu;
g[x].pop_back();
vector <int>::iterator it=find(g[fiu].begin(),g[fiu].end(),x);
g[fiu].erase(it);
x=fiu;
a=g[x].size();
}
}
int main()
{
int i,j,nd;
citire();
st[1]=1;
k=1;
while(k!=0){
nd=st[k];
parcurgere(nd);
if(k>1)
fout<<st[k]<<" ";
k--;
}
return 0;
}