Submission #629902

#TimeUsernameProblemLanguageResultExecution timeMemory
629902TimDeePrisoner Challenge (IOI22_prison)C++17
0 / 100
0 ms212 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; void fill(vector<vector<int>>&a, int n, int sz, int ind) { //cout<<"fill "<<sz<<' '<<ind<<'\n'; int x; cin>>x; if (sz<=9) { int cnt=0; while (sz-2*cnt>=0) { for (int i=1; i<=n; ++i) { if ((i-1)%sz<=cnt) a[ind][i]=-1; else if ((i-1)%sz>=(sz-1-cnt)) a[ind][i]=-2; else a[ind][i]=ind+1; } cnt++; ++ind; } return; } for (int i=1; i<=n; ++i) { if ((i-1)%sz<sz/3) a[ind][i]=ind+1; else if ((i-1)%sz<2*(sz/3)) a[ind][i]=ind+2; else a[ind][i]=ind+3; } a[ind+1][0]=1; for (int i=1; i<=n; ++i) { if ((i-1)%sz<sz/3) a[ind+1][i]=ind+4; else a[ind+1][i]=-1; } a[ind+2][0]=1; for (int i=1; i<=n; ++i) { if ((i-1)%sz<sz/3) a[ind+2][i]=-2; else if ((i-1)%sz<2*(sz/3)) a[ind+2][i]=ind+4; else a[ind+2][i]=-1; } a[ind+3][0]=1; for (int i=1; i<=n; ++i) { if ((i-1)%sz<2*(sz/3)) a[ind+3][i]=-2; else a[ind+3][i]=ind+4; } sz=(sz+2)/3; fill(a,n,sz,ind+4); } vector<vector<int>> devise_strategy(int n) { int sz=n; vector<vector<int>> a(28,vector<int>(n+1,0)); fill(a,n,sz,0); for (int i=0; i<27; ++i) { //auto x=a[i]; //cout<<i<<": "; //if (x[0]==0) cout<<"A "; else cout<<"B "; //for (auto y:x) cout<<y<<' '; cout<<'\n'; } return a; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...