#include "game.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <unordered_set>
using namespace std;
vector<int>contador;
vector<int>sums;
vector<vector<bool> >puesto;
int sumtotal;
int N;
void noedge(int u, int v){
contador[u]++;
contador[v]++;
sums[u]+=v;
sums[v]+=u;
}
void siedge(int u, int v){
//cout<<u<<' '<<v<<endl;
puesto[u][v]=true;
puesto[v][u]=true;
contador[v]++;
contador[u]++;
sums[v]+=u;
sums[u]+=v;
if (contador[v]==N-1){
int nodo=sumtotal-sums[v]-v;
siedge(v, nodo);
}
return;
}
int hasEdge (int u, int v){
if (puesto[u][v]==true) return 1;
noedge(u, v);
if (contador[u]==N-1){
int nodo=sumtotal-sums[u]-u;
siedge(u, nodo);
}if (contador[v]==N-1){
int nodo=sumtotal-sums[v]-v;
siedge(v, nodo);
}return 0;
}
void initialize (int n){
contador.assign(n, 1);
sums.assign(n, 0);
puesto.assign(n, vector<bool>(n, false));
sumtotal=n*(n-1)/2;
N=n;
return;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |