Submission #1244700

#TimeUsernameProblemLanguageResultExecution timeMemory
1244700Nurislam동굴 (IOI13_cave)C++20
0 / 100
155 ms552 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int n) { int a[n], us[n]; int ans1[n], ans2[n]; for(int i = 0; i < n; i ++ ){ a[i] = 0; ans1[i] = 0; ans2[i] = 0; }; auto fp = [&](int l, int r) { for(int i = l; i <= r; i ++ ) { if(us[i])continue; a[i] ^= 1; }; }; int t = 0; function< void(int,int)> f = [&](int l, int r) { if(l == r) { ans1[l] = a[l]; us[l] = 1; ans2[l] = t++; return; }; int m = (l + r) >> 1; fp(l, m); //for(int i : a) cout << i << ' '; //cout << l << ' ' << r << '\n'; //cout << tryCombination(a) << '\n'; if(tryCombination(a) == t) { fp(l,m); f(l, m); return; }; fp(l, m); f(m+1, r); }; for(int i = 0; i < n; i ++ ) { int x = tryCombination(a); if(x == i) fp(0,n-1); f(0, n-1); }; //for(int i : ans1) cout << i << ' '; //cout << '\n'; //for(int i : ans2) cout << i << ' '; //cout << '\n'; answer(ans1, ans2); }
#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...