Cod sursa(job #2401651)

Utilizator allaurananaNica Laura-Ilinca allauranana Data 9 aprilie 2019 21:33:16
Problema Ciclu Eulerian Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <iostream>
#define NMAX 300

using namespace std;

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

void Euler(int x);
void Citire();

int G[NMAX][NMAX];
int n,sol[NMAX],nrs;

int main()
{
    Citire();
    Euler(1);
    for(int i = 1; i <= nrs; ++i)
    {
        fout<<sol[i]<<" ";
    }
    fout<<'\n';
    return 0;
}

void Citire()
{
    int k,m,x,y;
    fin >> n >> m;
    for(k = 1; k <= m; ++k)
    {
        fin >> x >> y;
        G[x][y] = G[y][x] = 1;
    }
}

void Euler(int x)
{
    int i;
	sol[++nrs] = x;
	for(i = 1;i <= n; ++i)
    {
        if(G[x][i])
		{
			G[x][i] = G[i][x] = 0;
            Euler(i);
		}
    }

}