Cod sursa(job #1914213)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 8 martie 2017 15:58:01
Problema Ciclu Eulerian Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>
#include <iostream>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int n,m,j,k,ct,s[500005],ok,poz[500005],q;
struct muchie{int x,y;}a[500005];
vector <int>v[500005];
bool viz[500005];
inline void DFS(int nod)
   {while(poz[nod]<v[nod].size())
        {int q=v[nod][poz[nod]];
            if(viz[q]==0){viz[q]=1;DFS(a[q].x+a[q].y-nod);}
         poz[nod]++;
        }ct++;cout<<ct<<" ";s[ct]=nod;
   }
int main()
{int i;
 fin>>n>>m;
 for(i=1;i<=m;i++)
    {fin>>a[i].x>>a[i].y;
     v[a[i].x].push_back(i);
     v[a[i].y].push_back(i);
    }
 DFS(1);
  if(ct==m+1)
 for(i=ct;i>=2;i--)
    fout<<s[i]<<" ";
    else fout<<"-1";
               }