Cod sursa(job #724241)

Utilizator hunter_ionutzzzFarcas Ionut hunter_ionutzzz Data 26 martie 2012 12:49:40
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int i,n,m,x,y,grad[100001];
bool viz[100001];
vector <int> v[100001];
inline void df(int k)
{   vector <int>::iterator it;
    viz[k] = true; 
    for (it=v[k].begin();it!=v[k].end();++it)
		if (!viz[*it])
			df(*it);
}
int main()
{   fin >> n >> m;
    for (i=1;i<=n;++i)
	{	fin >> x >> y;
	    v[x].push_back(y);
		v[y].push_back(x);
		++grad[x];
		++grad[y];
    }
	df(1);
	for (i=1;i<=n;++i)
		if (!viz[i] && (grad[i] % 2))
		{	fout << "-1";
	        return 0;
		}
	return 0;
}