제출 #642455

#제출 시각아이디문제언어결과실행 시간메모리
642455birthdaycake죄수들의 도전 (IOI22_prison)C++17
0 / 100
0 ms212 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); continue; } else if(i == N){ d.push_back(-2); continue; } 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(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(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...