Pagini recente » Cod sursa (job #2863385) | Cod sursa (job #1228021) | Cod sursa (job #1038223) | Cod sursa (job #190460) | Cod sursa (job #601567)
Cod sursa(job #601567)
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
typedef vector <int> ::iterator it;
//typedef list <int> :: iterator li;
vector <int> gf[100005];
int i, j, n, m,x;
queue<int>c;
void euler( int nod ){
//list<int>::iterator li,li2;
for (;gf[nod].size();){
x = *gf[nod].begin();
gf[nod].erase(gf[nod].begin());
for(vector<int>::iterator it=gf[x].begin();it!=gf[x].end();++it)
if (*it==nod) {
gf[x].erase(it);
break;}
euler(x);
}
c.push(nod);
}
int main(){
freopen("ciclueuler.in","r",stdin);
freopen("ciclueuler.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++){
int x,y;
scanf("%d%d",&x,&y);
gf[x].push_back(y);
gf[y].push_back(x);
}
euler( 1 );
while (!c.empty()){
printf("%d ",c.front());
c.pop();
}
return 0;
}