Cod sursa(job #2385991)

Utilizator corina_dimitriuDimitriu Corina corina_dimitriu Data 22 martie 2019 00:08:46
Problema Ciclu Eulerian Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
#define DMAX 100005

using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
list<int> LA[DMAX];
int n;
void citire();
void DFS1(int x);
int main()
{int i,start=1;
    citire();
    for(i=1;i<=n;i++)
       {
        if(LA[i].size()%2)
           {fout<<"-1"<<'\n';exit(0);}
       }
    DFS1(start);
    fout<<'\n';
    fin.close();
    fout.close();
    return 0;
}
void citire()
{int a,b,M,i;
    fin>>n;
    fin>>M;
    for(i=1;i<=M;i++)
         {
          fin>>a>>b;
          LA[a].push_back(b);
          LA[b].push_back(a);
         }
}

void DFS1(int x)
{int nod;
    while(!LA[x].empty())
        {nod=LA[x].front();
         LA[x].pop_front();
         LA[nod].erase(find(LA[nod].begin(),LA[nod].end(),x));
         DFS1(nod);
        }
    fout<<x<<' ';
}