Pagini recente » Cod sursa (job #1224369) | Cod sursa (job #1807231) | Cod sursa (job #1669286) | Cod sursa (job #1030790) | Cod sursa (job #724241)
Cod sursa(job #724241)
#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;
}