Submission #626216

#TimeUsernameProblemLanguageResultExecution timeMemory
626216huutuanPrisoner Challenge (IOI22_prison)C++17
48.50 / 100
17 ms1364 KiB
#include "prison.h"
#include<bits/stdc++.h>

using namespace std;

int encode(int i, int x){
    return i*3+x+8;
}

vector<vector<int>> devise_strategy(int n){
    vector<vector<int>> v(32, vector<int>(n+1));
    for (int i=8; i<32; ++i) v[i][0]=1;
    int mm=2187;
    for (int r=0; r<8; ++r){
        for (int i=3*r+8; i<3*r+11; ++i){
            for (int j=1; j<=n; ++j){
                int s=(i%3-2+3)%3;
                int t=(j/mm)%3;
                if (s<t) v[i][j]=-1;
                if (s>t) v[i][j]=-2;
                if (s==t) v[i][j]=r+1;
            }
        }
        for (int j=1; j<=n; ++j){
            v[r][j]=encode(r, (j/mm)%3);
        }
        mm/=3;
    }
    return v;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...