제출 #625976

#제출 시각아이디문제언어결과실행 시간메모리
625976I_love_Hoang_Yen죄수들의 도전 (IOI22_prison)C++17
0 / 100
2 ms340 KiB
#include "bits/stdc++.h" using namespace std; const int NBIT = 2; std::pair<int,int> decode(int encoded) { return { NBIT - encoded / 3 - 1, encoded % 3, }; } int encode(int bit, int t) { if (bit < 0) return 0; return (NBIT - bit - 1) * 3 + t; } std::vector<std::vector<int>> devise_strategy(int n) { const int NSTATE = NBIT * 3; std::vector<std::vector<int>> res(NSTATE, std::vector<int> (n+1, 0)); for (int state = 0; state < NSTATE; ++state) { auto [bit, t] = decode(state); if (t == 0) res[state][0] = 0; else res[state][0] = 1; for (int i = 1; i <= n; ++i) { std::bitset<NBIT> bits {(unsigned) i}; if (t == 0) { res[state][i] = encode(bit, bits[bit] + 1); } else { int a_bit = t - 1; int b_bit = bits[bit]; if (a_bit < b_bit) res[state][i] = -1; else if (a_bit > b_bit) res[state][i] = -2; else res[state][i] = encode(bit - 1, 0); } } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...