Cod sursa(job #1524312)

Utilizator asavoaeigeoAsavoaei Georgiana asavoaeigeo Data 13 noiembrie 2015 21:21:18
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#define N 100005
#define M 500005
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
long long a[N][N];
int n,m,gr[N],c[M],l;
void Citire()
{
    fin>>n>>m;
    int x,y;
    for(int i=1;i<=n;i++)
    {
        fin>>x>>y;
        a[x][y]=a[y][x]=1;
        gr[x]++;gr[y]++;
    }
}

void Ciclu(int x)
{
    for(int i=1;i<=n;i++)
      if(a[x][i]==1)
      {
          a[x][i]=a[i][x]=0;
          Ciclu(i);      
       }
       c[++l]=x;
}

int main()
{
    Citire();
    for(int i=1;i<=n;i++)
     if(gr[i]%2==1) {fout<<-1;return 0;}
    Ciclu(1);
    for(int i=1;i<=l;i++)
    fout<<c[i]<<" ";
     
     
    return 0;
}