Submission #1225626

#TimeUsernameProblemLanguageResultExecution timeMemory
1225626LeonidCukPrisoner Challenge (IOI22_prison)C++20
0 / 100
3 ms584 KiB
#include <bits/stdc++.h> #include "prison.h" using namespace std; int n; int vrni(int a) { if(a==0)return -1; else return -2; } vector<vector<int>>devise_strategy(int N) { n=N; int x=n; vector<vector<int>>res(1,vector<int>(n+1)); res[0][0]=0; x=x/2+x%2; for(int i=1;i<=n;i++) { if(i==1)res[0][1]=-1; else if(i==n)res[0][n]=-2; else if(i<x)res[0][i]=1; else res[0][i]=2; } int k1=0,k=0; while(x>1) { res.push_back(vector<int>(n+1)); res.push_back(vector<int>(n+1)); k1=(k1+1)%2; int t=k+2+1; k++; res[k][0]=k1; res[k+1][0]=k1; int y=x/2+x%2; res[k][1]=vrni(k1); res[k][n]=vrni(k1^1); for(int i=2;i<n;i++) { if(x==2) { if(i%2==0)res[k][i]=vrni(k1); else res[k][i]=vrni(k1^1); } else if((i/x)%2==0)res[k][i]=t+(i/y)%2; else res[k][i]=vrni(k1^1); } k++; res[k][1]=vrni(k1); res[k][n]=vrni(k1^1); for(int i=2;i<n;i++) { if(x==2) { if(i%2==0)res[k][i]=vrni(k1); else res[k][i]=vrni(k1^1); } else if((i/x)%2==0)res[k][i]=vrni(k1); else res[k][i]=t+(i/y)%2; } x=y; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...