Submission #991634

#TimeUsernameProblemLanguageResultExecution timeMemory
991634yeediotCave (IOI13_cave)C++17
100 / 100
231 ms732 KiB
#include<bits/stdc++.h> #include "cave.h" //#include "/Users/iantsai/Downloads/Cave problem/grader.c" using namespace std; void exploreCave(int n){ int s[n], d[n], cur[n]; bool done[n]; memset(done, 0, sizeof(done)); memset(cur, 0, sizeof(cur)); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(!done[j]) cur[j] = 0; } int pos = tryCombination(cur); if(pos == -1) pos = n; bool flag = 1; if(pos > i){ flag = 0; } for(int j=0;j<n;j++){ if(!done[j]) cur[j] = !flag; } int l = 0, r = n-1; while(l < r){ int mm = l+r >> 1; for(int j=l;j<=mm;j++){ if(!done[j]) cur[j] = flag; } pos = tryCombination(cur); if(pos == -1) pos = n; for(int j=l;j<=mm;j++){ if(!done[j]) cur[j] = !flag; } if(pos > i) { r = mm; } else{ l = mm+1; } } d[l] = i; s[l] = flag; cur[l] = flag; done[l] = 1; } answer(s, d); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:25:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   25 |             int mm = l+r >> 1;
      |                      ~^~
#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...