Cod sursa(job #2855068)

Utilizator RTG123Razvan Diaconescu RTG123 Data 22 februarie 2022 08:41:42
Problema Ciclu Eulerian Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
int n,m,x,y,viz[500001],ok;
vector <vector <pair<int,int>>> v(100001);
void exec (int cur,int counter)
{
   // cout<<cur<<'\n';
    if (counter==m)
        ok=1;
    if (ok==0)
    {
    for (int j=0; j<v[cur].size(); j++)
    {
        int nod=v[cur][j].second;
        if (viz[nod]==0)
        {
            viz[nod]=1;
        int save=v[cur][j].first;
        exec(save,counter+1);
        //if (ok==0)
        //viz[nod]=0;
        g<<cur<<' ';
        }
    }
    }
    else
    {
    //cout<<cur<<' ';
    }
}

int main()
{
    f>>n>>m;
    for (int i=1; i<=m; i++)
    {
        f>>x>>y;
        v[x].push_back(make_pair(y,i));
        if (x!=y)
        v[y].push_back(make_pair(x,i));
    }
    exec(1,0);
    return 0;
}