Submission #765819

#TimeUsernameProblemLanguageResultExecution timeMemory
765819KhizriPrisoner Challenge (IOI22_prison)C++17
48.50 / 100
31 ms1372 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) const int mxn=5e3+5; int digit(int k,int idx){ vector<int>vt; while(k>0){ vt.pb(k%3); k/=3; } while(vt.size()<8){ vt.pb(0); } return vt[7-idx]; } vector<vector<int>> devise_strategy(int n) { vector<vector<int>>ans; for(int id=0;id<32;id++){ if(id%4==0){ vector<int>vt; vt.pb(1); for(int i=1;i<=n;i++){ int q=digit(i,id/4); if(q==0){ vt.pb(id+1); } else if(q==1){ vt.pb(id+2); } else{ vt.pb(id+3); } } ans.pb(vt); } else{ vector<int>vt; vt.pb(0); int nxt=(id/4+1)*4; int k=id%4-1; for(int i=1;i<=n;i++){ int q=digit(i,id/4); if(q<k){ vt.pb(-1); } else if(q>k){ vt.pb(-2); } else{ if(id<28){ vt.pb(nxt); } else{ vt.pb(0); } } } ans.pb(vt); } } /* for(int i=0;i<ans.size();i++){ for(int v:ans[i]){ cout<<v<<' '; } cout<<endl; } */ return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...