제출 #755003

#제출 시각아이디문제언어결과실행 시간메모리
755003Piokemon죄수들의 도전 (IOI22_prison)C++17
0 / 100
1 ms340 KiB
#include "prison.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

vector<vector<int>> devise_strategy(int N) {
    vector<int> czesc (N+1,0);
    vector<vector<int>> odp (25,czesc);
    odp[0][0] = 0;
    for (int x=1;x<=N;x++) odp[0][x] = 1 + (x & (1<<12));
    for (int y=1;y<12;y++){
        odp[2*y-1][0] = y%2;
        for (int x=1;x<=N;x++){
          if (x&(1<<(12-y+1))) odp[2*y-1][x] = (y%2==0?-2:-1);
          else odp[2*y-1][x] = 2*y + 1 + (x & (1<<(12-y)));
        }
        odp[2*y][0] = y%2;
        for (int x=1;x<=N;x++){
          if (!(x&(1<<(12-y+1)))) odp[2*y][x] = (y%2==0?-1:-2);
          else odp[2*y][x] = 2*y + 1 + (x & (1<<(12-y)));
        }
    }
    odp[23][0] = 1;
    for (int x=1;x<=N;x++){
      if (x&2) odp[25][x] = -2;
      else odp[25][x] = (x&1?-2:-1);
    }
    odp[24][0] = 1;
    for (int x=1;x<=N;x++){
      if (!(x&2)) odp[25][x] = -1;
      else odp[25][x] = (x&1?-2:-1);
    }
    return odp;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...