Submission #834043

#TimeUsernameProblemLanguageResultExecution timeMemory
834043TrumlingPrisoner Challenge (IOI22_prison)C++17
54.50 / 100
11 ms1236 KiB
#include "prison.h"
#include<bits/stdc++.h>
using namespace std;

#define F first
#define S second
#define all(x) x.begin(),x.end()
typedef long long ll;
#define pb push_back
#define INF 9999999999999999
vector<vector<int>> devise_strategy(int N) {

vector<vector<int>>s(28,vector<int>(N+1,0));
s[0][0]=0;
for(int i=1;i<=N;i++)
s[0][i]=(((1<<12)&i)?1:2);

ll idx=1;
ll now=12;
ll j=1;

while(now>=0)
{
s[j][0]=idx;
s[j+1][0]=idx;
idx=(1-idx);
for(int i=1;i<=N;i++)
{
  if((1<<now)&i)
  {
    s[j+1][i]=((idx)?-2:-1);
    if(now!=0)
    s[j][i]=(((1<<(now-1))&i)?j+2:j+3);
  }
  else 
  {
    s[j][i]=idx-2;
    if(now!=0)
    s[j+1][i]=(((1<<(now-1))&i)?j+2:j+3);
  }
  
}
now--;
j+=2;
}

return s;
}


#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...