Cod sursa(job #2092197)

Utilizator cicero23catalin viorel cicero23 Data 21 decembrie 2017 12:13:34
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <vector>
#define f first
#define s second
#define mp make_pair
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int > l
[100001] ;
int c[100001],h;
void euler(int i)
{
    int j,k,aux;
    for(j=0;j<l[i].size();j++)
    if(l[i][j]!=0)
    {
        aux=l[i][j];
           for(k=0;k<l[aux].size();k++)
           {
               if(l[aux][k]==i) {l[aux][k]=0;break;}
           }

           l[i][j]=0;
           euler(aux);
    }
    c[++h]=i;
}
int main()
{
    int n,m,i,x,y;
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        l[x].push_back(y);
        l[y].push_back(x);
    }
    euler(1);
    //cout<<l[1].size();
    for(i=1;i<=h;i++)

        g<<c[i]<<" ";
    return 0;
}