Cod sursa(job #2400019)

Utilizator CarausuMadalinaMadalina Carausu CarausuMadalina Data 8 aprilie 2019 11:35:16
Problema Ciclu Eulerian Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#define NMAX 1025

using namespace std;

ifstream fin ("ciclueuler.in");
ofstream fout ("ciclueuler.out");

int n, m, nr;
int A[NMAX][NMAX];
int sol[NMAX*NMAX];

void citire();
void Euler(int);

int main()
{
    int i;
    citire();
    Euler(1);

    for(i=1; i<nr; i++)
        fout << sol[i] << ' ';
    return 0;
}

void citire()
{
    int i, x, y;
    fin >> n >> m;
    for(i=1; i<=m; i++)
    {
        fin >> x >> y;
        A[x][y]++;
        A[y][x]++;
    }
}

void Euler(int k)
{
    int i;
    for(i=1; i<=n; i++)
        if (A[k][i])
        {
            A[k][i]--;
            A[i][k]--;
            Euler(i);
        }
    sol[++nr]=k;
}