Submission #777622

#TimeUsernameProblemLanguageResultExecution timeMemory
777622AkibAzmain동굴 (IOI13_cave)C++17
34 / 100
38 ms436 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;

void
exploreCave (int n)
{
  //// subtask 1
  // vector < int > a (n), b (n);
  // for (int i = tryCombination (a.data ()); i != -1; i = tryCombination (a.data ()))
  //   a[i] = !a[i];
  // for (int i = 0; i < n; ++i) b[i] = i;
  // answer (a.data (), b.data ());
  //// subtask 2
  // vector < int > a (n), b (n);
  // for (int i = 0; i < n; ++i)
  //   {
  //     a[i] = 1;
  //     b[i] = tryCombination (&a[0]);
  //     a[i] = 0;
  //   }
  // answer (&a[0], &b[0]);
  //// subtask 3
  vector < int > a (n), b (n, -1);
  for (int i = tryCombination (&a[0]); i != -1;)
    {
      for (int j = 0; j < n; ++j)
        {
          a[j] = !a[j];
          int s = tryCombination (&a[0]);
          if (s < i && s != -1) b[j] = s, a[j] = !a[j];
          if (s > i || s == -1)
            {
              b[j] = i;
              i = s;
              break;
            }
        }
    }
  for (int i = 0; i < n; ++i)
    {
      if (b[i] >= 0) continue;
      a[i] = !a[i];
      b[i] = tryCombination (&a[0]);
      a[i] = !a[i];
    }
  answer (&a[0], &b[0]);
}
#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...