Cod sursa(job #2749518)

Utilizator alexoloieriAlexandru Oloieri alexoloieri Data 6 mai 2021 22:41:14
Problema Ciclu Eulerian Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>
#include <utility>
#define nmax int(1e5)
#define pii pair<int,int>
#define mp make_pair
#define pb push_back
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");

int n, m, x, y;
vector<pii> G[nmax];
bool used[nmax * 5];

void dfs(int k) {
    while (G[k].size()) {
        auto act = G[k].back();
        G[k].pop_back();
        if (used[act.second]) {
            continue;
        }
        used[act.second] = true;
        dfs(act.first);
    }
    fout << k << ' ';
}

int main()
{
    fin >> n >> m;
    for (int i=1;i<=m;++i) {
        fin >> x >> y;
        G[x].pb(mp(y, i));
        G[y].pb(mp(x, i));
    }
    dfs(1);
    fout << '\n';
    fin.close();
    fout.close();
    return 0;
}