Submission #907606

#TimeUsernameProblemLanguageResultExecution timeMemory
907606vjudge1Prisoner Challenge (IOI22_prison)C++17
0 / 100
1 ms348 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() #define F first #define S second #define pb push_back typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; const int A = -1; const int B = -2; int id(int bit, int state){ if(bit==-1) return 0; bit=12-bit; return bit*2-state; } std::vector<std::vector<int>> devise_strategy(int N) { vector<vi> strat(25, vi(N+1)); for(int b = 12; b>=0; b--){ rep(s,0,2){ strat[id(s,b)][0] = b%2; if(b==12 && s==1) continue; // cout<<b<<' '<<s<<' '<<id(b,s)<<endl; rep(o,1,N+1){ if(o&(1<<b)){ if(s){ strat[id(s,b)][o]=id(s-1,1); }else{ strat[id(s,b)][o]=b%2==0?A:B; } }else{ if(s){ strat[id(s,b)][o]=b%2==0?B:A; }else{ strat[id(s,b)][o]=id(s-1,0); } } } } } return strat; } // int main(){ // devise_strategy(5000); // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...