# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1165239 | ty_mxzhn | Cave (IOI13_cave) | C++20 | 196 ms | 548 KiB |
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin() , x.end();
#define sz(x) (int)x.size();
void exploreCave(int N) {
int S[N] , D[N] , query[N] = {0} , vis[N] = {0};
for(int i = 0;i<N;i++){// door number
for(int j = 0;j<N;j++){
if(vis[j])continue;
query[j] = 0;
}
// cout << "door number : " << i << endl;
// cout << "asking : ";for(int j = 0;j<N;j++)cout << query[j] << " ";cout << endl;
bool bl = tryCombination(query) == i;
// cout << "bl : " << bl << endl;
// 0 da kapali oluosa bl = true , 1 de kapali oluosa bl = false
// yani kapi bl de acik , !bl de kapali olur
int l = 0 , r = N-1;
while(l < r){
int mid = (l + r) / 2;
// sol tarafi !bl yap , eger i de duruosak i soldadir
for(int j = l;j<=mid;j++){
if(vis[j])continue;
query[j] = !bl;
}
for(int j = mid+1;j<=r;j++){
if(vis[j])continue;
query[j] = bl;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |