제출 #1140296

#제출 시각아이디문제언어결과실행 시간메모리
1140296aarb_.tomatexd죄수들의 도전 (IOI22_prison)C++20
0 / 100
0 ms328 KiB
#include "prison.h"
#include <bits/stdc++.h>

using namespace std;
#define ll long long

//no se como funciona un grader :xd lo corro a mano

vector<vector<int>> devise_strategy(int N){
    int e = log2(N);
    vector<vector<int>>ans(3*e, vector<int>(N+1,0));
    // e - que - 1 = bit a comp
    for(int i=0;i<3*e;i++){
        int que = i/3;
        if(i%3==0){
            ans[i][0] = 0;
        }else{
            ans[i][0] = 1;
        }
        for(int j = 1; j <= N; j++){
            if(i%3==0){
                //cual es el bit del i?
                ans[i][j] = (i+1) +  ((j>>(e-que-1))&1);
            }else{
                //recibe 1 si era del A 1.
                //Recibe 2 si eral del B 1.
                //pero ocupo 1 y 0 por lo tanto -1;
                int resA = i%3 - 1;
                int resB = 0 + ((j>>(e-que-1))&1);
                if(resA < resB){
                    ans[i][j] =-1;
                }else if(resA > resB){
                    ans[i][j] = -2;
                }else{
                    if(que != e-1){
                        ans[i][j] = (que+1)*3;
                    }else{
                        ans[i][j] = 0;
                    }
                }
                
            }
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...