Pagini recente » Cod sursa (job #469371) | Cod sursa (job #234403) | Cod sursa (job #38788) | Cod sursa (job #1862696) | Cod sursa (job #861286)
Cod sursa(job #861286)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int t[1000001],n,m,a[100001][1000001],s[1000001];
void df(int nod)
{
s[nod]=1;
for(int i=1;i<=n;i++)
if(!s[i] && a[nod][i]==1)
{
t[i]=nod;
df(i);
}
}
void dfe(int nod)
{
fout<<nod<<" ";
for(int i=1;i<=n;i++)
if(a[nod][i])
if(t[nod]!=i && t[i]!= nod)
{
a[nod][i]=a[i][nod]=0;
dfe(i);
}
for(int i=1;i<=n;i++)
if(a[nod][i])
{
a[nod][i]=a[i][nod]=0;
dfe(i);
}
}
int main()
{
int x,y;
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>x>>y;
a[x][y]=a[y][x]=1;
}
df(1);
dfe(1);
fin.close();
fout.close();
return 0;
}