Cod sursa(job #2696692)

Utilizator Arsene_DenisaArsene Denisa Arsene_Denisa Data 16 ianuarie 2021 13:27:58
Problema Ciclu Eulerian Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include<fstream>
#include<deque>

using namespace std;
deque<int>r;
deque<int>v[100001];
int n, m, i;
bool viz[500001];
int x[100001], y[100001];
int euler(int pz) {
    while(v[pz].size()) {
        int muchie;
        muchie=v[pz].back();
        v[pz].pop_back();
        if(viz[muchie]==0) {
                    viz[muchie]=1;
                    int vecin;
        if(x[muchie]==pz) {
                vecin=y[muchie];
        }
        else {
                vecin=x[muchie];
        }
        euler(vecin);
        }
    }
    r.push_back(pz);
}




int main() {

    ifstream fin("ciclueuler.in");
    ofstream fout("ciclueuler.out");
    fin>>n>>m;
    for(i=1;i<=m;i++) {
            fin>>x[i]>>y[i];
            v[x[i]].push_back(i);
            v[y[i]].push_back(i);
    }
    euler(1);
    for(int i=0;i<r.size()-1;i++) {
            fout<<r[i]<<" ";
    }
    return 0;
}