Submission #729434

#TimeUsernameProblemLanguageResultExecution timeMemory
729434NeroZeinCave (IOI13_cave)C++17
0 / 100
1 ms340 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std; 

const int N = 5005;

bool vis[N];

void exploreCave(int N_) {
  int n;
  n = N_;
  int a[n]; 
  for (int i = 0; i < n; ++i) {
    a[i] = 0; 
  } 
  int x = 0; 
  int cnt = 0; 
  while (x != -1 && cnt < 8) {
    cnt++;
    x = tryCombination(a);
    //cout << "X: " << x << '\n';
    //for (int i = 0; i < n; ++i) {
      //cout << vis[i] << ' ';
    //}
    //cout << '\n';
    //for (int i = 0; i < n; ++i) {
      //cout << a[i] << ' '; 
    //}
    //cout << '\n' << '\n'; 
    for (int i = 0; i < n; ++i) {
      if (vis[i]) continue; 
      a[i] ^= 1; 
      int y = tryCombination(a); 
      //cout << y << '\n'; 
      //for (int j = 0; j < n; ++j) {
        //cout << a[j] << ' ';
      //}
      //cout << '\n' << '\n'; 
      if (y > x || y == -1) {
        vis[i] = true; 
        x = y; 
        break;
      }
      else if (y < x) {
        vis[i] = true;
        a[i] ^= 1; 
        break;
      } else {
        a[i] ^= 1; 
      }
    }
  }
  int d[n];
  for (int i = 0; i < n; ++i) {
    d[i] = 0; 
  }
  for (int i = 0; i < n; ++i) {
    a[i] ^= 1; 
    x = tryCombination(a); 
    d[i] = x; 
    a[i] ^= 1; 
  }
  answer(a, d);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...