제출 #729464

#제출 시각아이디문제언어결과실행 시간메모리
729464NeroZein동굴 (IOI13_cave)C++17
33 / 100
23 ms420 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] = rand() % 2; 
  } 
  int x = tryCombination(a); 
  while (x != -1) {
    //cout << x << '\n';
    //for (int i = 0; i < n; ++i) {
      //cout << a[i] << ' ';
    //}
    //cout << '\n'; 
    for (int i = 0; i < n; ++i) {
      if (vis[i]) continue; 
      a[i] ^= 1; 
      int y = tryCombination(a); 
      if (y > x || y == -1) {
        vis[i] = true; 
        //if (i == 0) {
          //cout << x << '\n'; 
          //cout << "ZZZ" << '\n';
          //exit(0);
        //}
        x = y; 
        break;
      }
      else if (y < x) {
        vis[i] = true;
        //if (i == 0) {
          //cout << "ZZZZ55" << '\n';
          //exit(0);
        //}
        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...