Pagini recente » Cod sursa (job #2571016) | Cod sursa (job #2135557) | Statistici Dragoi emilia-ioana (emiliatiza) | Cod sursa (job #1914129) | Cod sursa (job #2365809)
#include <fstream>
#include <list>
#include <iterator>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
int q,a[100000],n,x,y,m;
list <int> r[100001];
list <int> :: iterator itr;
list <int> :: iterator itrr;
void euler(int k)
{
for(itr=r[k].begin(); itr!=r[k].end(); itr++)
{
int t=*itr;
r[k].erase(itr);
int h=1;
for(itrr=r[t].begin(); itrr!=r[t].end() && h; itrr++)
{
if(*itrr==k)
{
r[t].erase(itrr);
h=0;
}
}
euler(t);
}
q++;
a[q]=k;
}
int main()
{
f>>n>>m;
for(int i=1; i<=m; i++)
{
f>>x>>y;
r[x].push_back(y);
r[y].push_back(x);
}
for(int i=1; i<=n; i++)
{
r[i].push_back(i);
}
euler(1);
for(int i=1; i<q; i++)
g<<a[i]<<" ";
return 0;
}