Submission #1234651

#TimeUsernameProblemLanguageResultExecution timeMemory
1234651Ghulam_JunaidPrisoner Challenge (IOI22_prison)C++20
48.50 / 100
9 ms1352 KiB
#include <bits/stdc++.h>
#include "prison.h"
// #include "grader.cpp"
using namespace std;

int digit(int x, int i){
    for (int j = 0; j < 7 - i; j ++)
        x /= 3;
    return x % 3;
}

vector<vector<int>> devise_strategy(int n) {
    vector<vector<int>> res;
    res.resize(32);
    for (int i = 0; i < 32; i ++){
        res[i].resize(n + 1);
        if (i < 8) res[i][0] = 0;
        else res[i][0] = 1;

        for (int j = 1; j <= n; j ++){
            if (i < 8) res[i][j] = i + 8 * (1 + digit(j, i));
            else{
                int prv = i / 8;
                int nxt = 1 + digit(j, i % 8);
                if (prv == nxt)
                    res[i][j] = 1 + (i % 8);
                else if (prv < nxt)
                    res[i][j] = -1;
                else
                    res[i][j] = -2;
            }
        }
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...