제출 #468950

#제출 시각아이디문제언어결과실행 시간메모리
468950Soumya1동굴 (IOI13_cave)C++14
13 / 100
872 ms500 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int n) { int pos[n], state[n]; int s[n] = {0}; // int cur = tryCombination(s); // if (cur == 0) { // for (int i = 0; i < n; i++) { // s[i] = 1; // if (tryCombination(s) > 0) { // pos[0] = i; // state[i] = 1; // break; // } // s[i] = 0; // } // } else { // for (int i = 0; i < n; i++) { // s[i] = 1; // if (tryCombination(s) == 0) { // pos[0] = i; // state[i] = 0; // break; // } // s[i] = 0; // } // } for (int i = 0; i < n; i++) { int cur = tryCombination(s); int l = 0, r = n - 1; if (cur == i) { while (l < r) { int m = (l + r) >> 1; int ss[n]; for (int j = 0; j < n; j++) ss[j] = s[j]; for (int j = 0; j <= m; j++) ss[j] ^= 1; for (int j = 0; i < i; j++) ss[pos[j]] = state[j]; if (tryCombination(ss) != i) { r = m; } else { l = m + 1; } } pos[i] = l; state[i] = s[l] ^ 1; s[l] ^= 1; } else { while (l < r) { int m = (l + r) >> 1; int ss[n]; for (int j = 0; j < n; j++) ss[j] = s[j]; for (int j = 0; j <= m; j++) ss[j] ^= 1; for (int j = 0; j < i; j++) ss[pos[j]] = state[j]; if (tryCombination(ss) == i) { r = m; } else { l = m + 1; } } pos[i] = l; state[i] = s[l]; } } int d[n]; for (int i = 0; i < n; i++) { d[pos[i]] = i; s[pos[i]] = state[i]; } answer(s, d); }

컴파일 시 표준 에러 (stderr) 메시지

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:38:27: warning: self-comparison always evaluates to false [-Wtautological-compare]
   38 |         for (int j = 0; i < i; j++) ss[pos[j]] = state[j];
      |                         ~ ^ ~
#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...