Submission #640731

#TimeUsernameProblemLanguageResultExecution timeMemory
6407311zaid1Prisoner Challenge (IOI22_prison)C++17
30 / 100
29 ms2004 KiB
#include "prison.h"

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> devise_strategy(int n) {
    int p[] = {1, 10, 100, 1000, 10000};
    vector<vector<int>> v(50, vector<int>(n+1, 0));
    for (int i = 0; i < 50; i++) {
        if (i/10 == 0) v[i][0] = 0;
        else v[i][0] = !(i/10%2);
        for (int j = 1; j <= n; j++) {
            if (i/10) {
                int d = j/p[i/10-1]%10;
                if (d > i%10) v[i][j] = -1-!v[i][0];
                else if (d < i%10) v[i][j] = -1-(v[i][0]);
                else v[i][j] = (i/10-1)*10 + (j/p[i/10-2])%10;
            } else {
                v[i][j] = 40+j/1000;
            }
        }
    } return v;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...