Cod sursa(job #2163700)

Utilizator Alexandru_IulianAlexandru Iulian Alexandru_Iulian Data 12 martie 2018 19:28:07
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

#define NMAX 210

int Q[NMAX],G[NMAX][NMAX], Gr[NMAX],nr,n,m;
ifstream f( "ciclueuler.in" );
ofstream g( "ciclueuler.out" );

void load()
{
    int i,x,y;
    f >> n;
    while ( f >> x >> y ){
        G[x][y]=G[y][x]=1; Gr[x]++; Gr[y]++;
    }
}

bool verif ()
{
    int i;

    for( i=1; i <= n; i++)
        if (Gr[i]%2==1) return false;
    return true;
}

void euler (int nod)
{
    int i;
    for( i=1; i <= n; i++)
    {
        if ( G[nod][i]==1 ){ G[nod][i]=G[i][nod]=0;
        euler (i);
        }
    }
    Q[++nr]=nod;
}

int main()
{
    int i;
    load();
    nr=0;
    euler(1);
    //g << nr << endl;
    for(i=1 ; i <=nr; i++)
        g<< Q[i]<<" ";
    return 0;
}