Submission #1237413

#TimeUsernameProblemLanguageResultExecution timeMemory
1237413lalig777Game (IOI14_game)C++20
15 / 100
1 ms328 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...