Pagini recente » Cod sursa (job #1962924) | Cod sursa (job #724714) | Cod sursa (job #251953) | Cod sursa (job #2620830) | Cod sursa (job #2203521)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ciclueuler.in");
ofstream g("ciclueuler.out");
const int NMAX = 100005, MMAX = 500005;
vector<int> G[NMAX];
bool vizitat[MMAX];
int from[MMAX], to[MMAX],nr_vec[NMAX];
int euler(int);
int main() {
int n, m;
f>> n >> m;
for (int i = 1; i <= m; i++)
{
int x, y;
f>> x >> y;
G[x].push_back(i);
nr_vec[x]++;
G[y].push_back(i);
nr_vec[y]++;
from[i] = x;
to[i] = y;
}
for (int i = 1; i <= n; ++i)
{
if (nr_vec[i]%2==1)
{
g << "-1\n";
return 0;
}
}
euler(1);
return 0;
}
int euler (int v)
{ while(size(G[v])!=0)
{w = auto it:G[v];
vizitat[w]=0;
sterge_muchie (v, w);
euler (w);
}
//adauga v la ciclu
}