제출 #1226231

#제출 시각아이디문제언어결과실행 시간메모리
1226231VMaksimoski008죄수들의 도전 (IOI22_prison)C++17
36.50 / 100
11 ms1608 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; //bit po bit //1-13 ima vo A //14-26 nema vo A //27-39 ima vo B //40-52 nema vo B vector<vector<int>> devise_strategy(int n) { vector<vector<int> > ans(40, vector<int>(n+1)); ans[0][0] = 0; for(int i=1; i<=n; i++) { if(i & (1 << 12)) ans[0][i] = 13; else ans[0][i] = 26; } //strategija za B for(int i=1; i<=26; i++) { ans[i][0] = 1; int on, val; on = (i <= 13); if(i <= 13) val = i - 1; else val = i - 14; for(int j=1; j<=n; j++) { bool b = j & (1 << val); if(on && !b) { ans[i][j] = -2; } else if(!on && b) { ans[i][j] = -1; } else { ans[i][j] = val + 27; } } } //strategija za A //glup sum, nema sto for(int i=27; i<=39; i++) { ans[i][0] = 0; if(i == 27) { for(int j=1; j<=n; j++) ans[i][j] = -1; continue; } int val = i - 28; for(int j=1; j<=n; j++) { bool b = j & (1 << val); if(b) { ans[i][j] = val + 1; } else { ans[i][j] = val + 14; } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...