Submission #50186

#TimeUsernameProblemLanguageResultExecution timeMemory
50186mirbek01Game (IOI14_game)C++17
0 / 100
3 ms672 KiB
#include "game.h"
# include <bits/stdc++.h>

using namespace std;

const int N = 1502;

int g[N][N], n, used[N];
set <int> st;

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

void dfs(int v){
      used[v] = 1;
      st.erase(v);
      for(auto i : st){
            if(!g[v][i]){
                  dfs(i);
                  break;
            }
      }
}

bool ok(){
      memset(used, 0, sizeof(used));
      for(int i = 1; i <= n; i ++)
            st.insert(i);
      dfs(1);
      if(st.size())
            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...