Submission #642488

#TimeUsernameProblemLanguageResultExecution timeMemory
642488birthdaycake죄수들의 도전 (IOI22_prison)C++17
30 / 100
28 ms2132 KiB
#include "prison.h" #include<bits/stdc++.h> #define endl '\n' #define mod 1000000007 using namespace std; vector<vector<int>> devise_strategy(int N) { vector<vector<int>>ans; vector<int>d; d.push_back(0); for(int i = 1; i <= N; i++) { if(i == 1) d.push_back(-1); else if(i == N) d.push_back(-2); else if(i & (1 << (12))) d.push_back(1); else d.push_back(2); } ans.push_back(d); d.clear(); bool turn = 0; int cnt = 12; for(int j = 1; ; j+=2){ if(turn){ // check a cnt--; if(cnt == -1) break; d.push_back(0); for(int i = 1; i <= N; i++){ if(i == 1) d.push_back(-1); else if(i == N) d.push_back(-2); else if(i & ((1 << cnt))) d.push_back(j + 2); else d.push_back(j + 3); } ans.push_back(d); d.clear(); d.push_back(0); for(int i = 1; i <= N; i++){ if(i == 1) d.push_back(-1); else if(i == N) d.push_back(-2); else if(i & ((1 << cnt))) d.push_back(j + 2); else d.push_back(j + 3); } ans.push_back(d); d.clear(); }else{ d.push_back(1); for(int i = 1; i <= N; i++){ if(i == 1) d.push_back(-2); else if(i == N) d.push_back(-1); else if(i & ((1 << cnt))) d.push_back(min(50,j + 2)); else d.push_back(-2); } ans.push_back(d); d.clear(); d.push_back(1); for(int i = 1; i <= N; i++){ if(i == 1) d.push_back(-2); else if(i == N) d.push_back(-1); else if(i & ((1 << cnt))) d.push_back(-1); else d.push_back(min(50,j + 3)); } ans.push_back(d); d.clear(); } turn = !turn; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...