Cod sursa(job #515994)

Utilizator feelshiftFeelshift feelshift Data 22 decembrie 2010 21:12:15
Problema Ciclu Eulerian Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
// http://infoarena.ro/problema/ciclueuler
#include <fstream>
#include <list>
using namespace std;

int nodes,edges;
list<int> graph[100001];

void read();
bool eulerianCycle();
void write(bool status);

int main() {
	read();

	if(eulerianCycle())
		write(true);
	else
		write(false);

	return (0);
}

void read() {
	ifstream in("ciclueuler.in");
	int from,to;

	for(int i=1;i<=edges;i++) {
		in >> from >> to;

		graph[from].push_back(to);
		graph[to].push_back(from);
	}

	in.close();
}

bool eulerianCycle() {
	for(int i=1;i<=nodes;i++)
		if(graph[i].size() % 2)
			return false;

	return true;
}

void write(bool status) {
	ofstream out("ciclueuler.out");

	if(status)
		out << "wtf?!?\n";
	else
		out << "-1\n";

	out.close();
}