Cod sursa(job #3205124)

Utilizator vozian.anghelinaAnghelina Vozian vozian.anghelina Data 18 februarie 2024 21:03:02
Problema Ciclu Eulerian Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
int n, m;
map<int, int> N[100100];
int R[100100], rs;

void parc(int nod){
    for(auto it : N[nod]){
        if(it.second){
            int pana = it.first;
            N[nod][pana]--;
            N[pana][nod]--;
            parc(pana);
        }
    }
    R[++rs] = nod;
}

int main(){
    ifstream cin("ciclueuler.in");
    ofstream cout("ciclueuler.out");
    cin >> n >> m;

    int d, p;
    for(int i=1; i<=m; i++){
        cin >> d >> p;
        N[d][p]++;
        N[p][d]++;
    }  

    parc(1);
    rs--;

    if(rs == m){
        for(int i=1; i<=rs; i++){
            cout << R[i] << ' ';
        }
    } else {
        cout << -1 << endl;
    }
}