제출 #1359187

#제출 시각아이디문제언어결과실행 시간메모리
1359187prikpao동굴 (IOI13_cave)C++20
0 / 100
97 ms548 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;

void exploreCave(int n){
  	vector<int> id(n);
  	vector<int> pos(n);
	vector<int> ask(n, 0);
	for(int i=0; i<n; i++){
		if(tryCombination(ask.data())==i){
			// id[i]=1;
			ask[i]=1;
			id[i]=1;
		}
		int l=0, r=n-1;
		while(l<r){
			int mid=(l+r)/2;
			vector<int> ask2(n, 0);
			if(id[i]==0)fill(ask2.begin(), ask2.end(), 1);
			for(int j=l; j<=mid; j++)ask2[j]^=1;
			for(int j=0; j<i; j++){
				ask2[pos[j]]=id[j];
			}
			if(tryCombination(ask.data())>i){
				// pos not in this region
				l=mid+1;
			}
			else r=mid;
		}
		pos[i]=l;
		ask[l]=i;
	}
	//for(auto e:id)cout << e << ' ';cout << '\n';
	//for(auto e:pos)cout << e << ' ';cout << '\n';

  	answer(id.data(), pos.data());
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…