Pagini recente » Cod sursa (job #1871603) | Cod sursa (job #2557158) | Cod sursa (job #2140111) | Cod sursa (job #1187198) | Cod sursa (job #1378287)
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
#define foor(it,v) for(__typeof(v.begin()) it=v.begin();it!=v.end();++it)
#define cout g
int n,m,i;
struct eee{int a,b;};
vector<eee> muc;
vector<vector<int> >G;
vector<bool> on;
void euler(int nod)
{
foor(it,G[nod]) if(on[*it])
{
on[*it]=false;
euler(muc[*it].a==nod ? muc[*it].b:muc[*it].a);
}
cout<<nod<<' ';
}
int main()
{
f>>n>>m;
muc.resize(m+1);
G.resize(n+1);
on.resize(m+1,true);
for(i=1;i<=m;++i)
{
f>>muc[i].a>>muc[i].b;
G[muc[i].a].push_back(i);
G[muc[i].b].push_back(i);
}
euler(1);
return 0;
}