제출 #892676

#제출 시각아이디문제언어결과실행 시간메모리
892676Trisanu_Das죄수들의 도전 (IOI22_prison)C++17
48.50 / 100
14 ms1372 KiB
#include <bits/stdc++.h>
using namespace std;
 
vector<vector<int> > devise_strategy(int N){
    vector<vector<int> > ans(32, vector<int>(N + 1, 0));
    vector<int> pw(10, 1);
    for(int i = 1; i < 10; i++) pw[i] = pw[i - 1] * 3;
    for(int i = 0; i < 32; i++){
        int x = i / 8;
        if(x == 0) ans[i][0] = 0;
        else ans[i][0] = 1;
        for(int j = 1; j <= N; j++){
            int idx = 7 - (i % 8);
            int b = (j % pw[idx + 1]) / pw[idx];
            if(x == 0) ans[i][j] = (7 - idx) + (b + 1)*8;
            else if(b > x - 1) ans[i][j] = -1;
            else if(b < x - 1) ans[i][j] = -2;
            else ans[i][j] = 8 - idx;
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...