Submission #636429

#TimeUsernameProblemLanguageResultExecution timeMemory
636429alexander707070Prisoner Challenge (IOI22_prison)C++17
38 / 100
61 ms2556 KiB
#include<bits/stdc++.h>
#include "prison.h"
using namespace std;

int n;
vector< vector<int> > sol;
int power[15];
int p[15]={0,12,11,10,9,8,7,6,5,4,3,2,1,0,0};

int st(int x){
  if(x<39)return x;
  return 0;
}

vector< vector<int> > devise_strategy(int N){
    power[0]=1; n=N;
    for(int i=1;i<15;i++)power[i]=power[i-1]*2;

    for(int i=0;i<39;i++){
        sol.push_back({});

        if(i%3==0)sol.back().push_back(0);  
        else sol.back().push_back(1);

        for(int f=1;f<=n;f++){
            if(( (power[p[i/3+1]]) &f)==0){
                if(i%3==0)sol.back().push_back(st(i+1));
                else{
                    if(i%3==1)sol.back().push_back(st(i+2));
                    else sol.back().push_back(-2);
                }
            }else{
                if(i%3==0)sol.back().push_back(st(i+2));
                else{
                    if(i%3==1)sol.back().push_back(-1);
                    else sol.back().push_back(st(i+1));
                }
            }
        }
    }

    return sol;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...