Pagini recente » Cod sursa (job #1630906) | Cod sursa (job #2777092) | Cod sursa (job #2524435) | Cod sursa (job #2932162) | Cod sursa (job #2716141)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int afis[500005],nr,n,m;
vector < pair <int,int> > v[100005];
void euler(int k)
{
int x,i,j;
for (i=0; i<v[k].size(); i++)
{
if (v[k][i].second==0)
{
x=v[k][i].first;
v[k][i].second=1;
for (j=0; j<v[x].size(); j++)
if (v[x][j].first==k and v[x][j].second==0)
{
v[x][j].second=1;
break;
}
euler(x);
}
}
afis[++nr]=k;
}
int main()
{
int i,j;
fin>>n>>m;
while (fin>>i>>j)
{
v[i].push_back({j,0});
v[j].push_back({i,0});
}
euler(1);
///fout<<nr<<'\n';
for (i=1; i<=nr; i++)
fout<<afis[i]<<" ";
return 0;
}