Submission #379166

#TimeUsernameProblemLanguageResultExecution timeMemory
379166MounirGame (IOI14_game)C++14
0 / 100
1 ms492 KiB
#include "game.h"
#include <vector>
using namespace std;

vector<int> ens;
int nNoeuds;

void initialize(int n) {
	nNoeuds = n;
	ens.resize(nNoeuds);
	for (int noeud = 0; noeud < nNoeuds; ++noeud)
		ens[noeud] = noeud;
}

int find(int noeud){
	if (ens[noeud] != noeud)
		ens[noeud] = find(ens[noeud]);
	return ens[noeud];
}

int hasEdge(int u, int v) {
    u = find(u), v = find(v);
    if (u != v)
    	return 1;
    if ((u < nNoeuds/2)^(v < nNoeuds/2)){
    	ens[u] = v;
    	return 1;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...