제출 #1369196

#제출 시각아이디문제언어결과실행 시간메모리
1369196leolin0214죄수들의 도전 (IOI22_prison)C++20
38 / 100
7 ms1588 KiB
#include "prison.h"

#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>

using namespace std;

std::vector<std::vector<int>> devise_strategy(int N) {
    int n = N;
    int c = __lg(n);

    int x = 3 * c + 2;

    vector<vector<int>> s(x+1, vector<int>(n+1));

    for (int i=0; i<=x; i++) {
        
        int read = i ? i : 3 * c + 3;
        int A = read % 3;

        if (A) {
            int bit = read / 3;
            A--;           // 0 or 1
            s[i][0] = 1;   // check B
            for (int j=1; j<=n; j++) {
                if (((j >> bit) & 1) == A) {
                    s[i][j] = bit * 3;
                }else{
                    s[i][j] = A ? -2 : -1;
                }
            }
        }else{
            int bit = read / 3 - 1;
            s[i][0] = 0;   // check A
            for (int j=1; j<=n; j++) {
                s[i][j] = bit * 3 + ((j >> bit) & 1) + 1;
            }
        }

        

    }

    return s;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…