Submission #50184

#TimeUsernameProblemLanguageResultExecution timeMemory
50184mirbek01Game (IOI14_game)C++17
42 / 100
1074 ms3956 KiB
#include "game.h"
# include <bits/stdc++.h>

using namespace std;

const int N = 1502;

int g[N][N], n, used[N];

void initialize(int N) {
      n = N;
}

void dfs(int v){
      used[v] = 1;
      for(int i = 1; i <= n; i ++){
            if(!used[i] && !g[i][v]){
                  dfs(i);
            }
      }
}

bool ok(){
      memset(used, 0, sizeof(used));
      dfs(1);
      for(int i = 1; i <= n; i ++){
            if(!used[i]) return 0;
      }
      return 1;
}

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