Pagini recente » Cod sursa (job #2820847) | Cod sursa (job #1111067) | Cod sursa (job #2763791) | Cod sursa (job #3225732) | Cod sursa (job #2868508)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
vector<pair<int,int>> m;
vector<bool> fr;
vector<int> graf[500002],rez;
int i,n,muc,x,y;
void Euler(int start)
{
for(auto x:graf[start])
{
if(fr[x]==0)
{
fr[x]=1;///vizitat
int val=m[x].second;
if(val==start)
val=m[x].first;
Euler(val);
}
}
rez.push_back(start);
}
int main()
{
fin>>n>>muc;
for(i=1;i<=muc;i++)
{
fin>>x>>y;
m.push_back(make_pair(x,y));
fr.push_back(0);
graf[x].push_back(m.size()-1);
graf[y].push_back(m.size()-1);
}
Euler(1);
for(i=0;i<rez.size()-1;i++)
fout<<rez[i]<<' ';
return 0;
}