Cod sursa(job #2802703)

Utilizator Diana_IonitaIonita Diana Diana_Ionita Data 18 noiembrie 2021 17:52:52
Problema Ciclu Eulerian Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
//vector<int>g[100005];
int n;
int nr,g[10005][10005], elem[100005];
void euler(int nod)
{
    for(int i=1 ; i<=n; i++)
    {
        if(g[nod][i]>0)
        {
            g[nod][i]--;
            g[i][nod]--;
            euler(i);
        }
    }
    elem[++nr]=nod;

}
int main()
{
    int m,x,y;
    fin>>n>>m;
    for(int i=1; i<=m; i++)
    {
        fin>>x>>y;
     /*   g[x].push_back(y);g[x][g[x].size()-1]=1;
        g[y].push_back(x);
        g[y][g[y].size()-1]=1;*/
        g[x][y]++;
        g[y][x]++;
    }
    euler(1);
    if(nr<m-1)fout<<-1;
    else for(int i=nr; i>1;i--)
        {
            fout<<elem[i]<<" ";
        }
    return 0;
}