제출 #529576

#제출 시각아이디문제언어결과실행 시간메모리
529576physics07동굴 (IOI13_cave)C++17
100 / 100
280 ms664 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int ans[5000], match[5000]; void exploreCave(int n) { memset(match, -1, sizeof(match)); for(int i=0; i<n; i++) { int s[5000]={0}; for(int j=0; j<n; j++) if(match[j]!=-1) s[j]=ans[j]; bool b=(tryCombination(s)==i); int l=0, r=n-1; while(l<r) { int mid=(l+r)/2; for(int j=l; j<=mid; j++) if(match[j]==-1) s[j]=!s[j]; bool t=(tryCombination(s)==i); if(t==b) l=mid+1; else b=t, r=mid; } match[l]=i; ans[l]=s[l]^b; } answer(ans, match); }
#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...