Submission #50259

#TimeUsernameProblemLanguageResultExecution timeMemory
50259mirbek01Game (IOI14_game)C++17
0 / 100
2 ms392 KiB
#include "game.h"
# include <bits/stdc++.h>

using namespace std;

const int N = 1502;

int p[N], sz[N], n;

void initialize(int N) {
      n = N;
      for(int i = 1; i <= n; i ++)
            p[i] = i, sz[i] = 1;
}

int get(int v){
      return (p[v] == v) ? v : p[v] = get(p[v]);
}

void unite(int a, int b){
      if(a != b){
            if(sz[b] > sz[a])
                  swap(a, b);
            p[b] = a;
            sz[a] += sz[b];
      }
}

int hasEdge(int u, int v) {
      u ++, v ++;
      u = get(u);
      v = get(v);
      if(u != v){
            if(sz[u] + sz[v] == n)
                  return 0;
            return 1;
      } else {
            return 1;
      }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...