Cod sursa(job #1248125)

Utilizator victor_crivatCrivat Victor victor_crivat Data 24 octombrie 2014 18:31:22
Problema Ciclu Eulerian Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <list>
#include <vector>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
vector <int> v[1001];
list <int> q;
int n,m,x,y,i,nr;
bool ok;
void euler (int nod)
{vector <int>::iterator it;
int i;
    q.push_back(nod);
while (!q.empty())
    {nod=q.front();
        if (v[nod].empty())
        {q.pop_front();
            g<<nod<<" ";
        }
    else {i=v[nod].back();
    q.push_front(i);
    v[nod].pop_back();
    for (it=v[i].begin();it!=v[i].end();it++)
    if (*it==nod) {v[i].erase(it);break;}
    }
    }
}
int main()
{f>>n;
f>>m;
for (i=1;i<=m;i++)
{f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
euler(1);
}