Cod sursa(job #3167767)

Utilizator Luca_georgescuLucageorgescu Luca_georgescu Data 11 noiembrie 2023 08:51:25
Problema Ciclu Eulerian Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");

int u,v,n,m,nr,G[1005][1005],Q[500005];

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

int main()
{
    f >> n >> m;
    for (int i=1; i<=m; i++ )
    {
        f >> u >> v;
        G[u][v]=1;
        G[v][u]=1;
    }
    euler(1);
    if ( nr==0 )
        g << -1;
    else for (int i=nr; i>=1; i-- )
        g << Q[i] << " ";
    return 0;
}