Submission #788041

#TimeUsernameProblemLanguageResultExecution timeMemory
788041andrei_boaca죄수들의 도전 (IOI22_prison)C++17
65 / 100
15 ms1088 KiB
#include <bits/stdc++.h> #include "prison.h" //#include "grader.cpp" using namespace std; int getbit(int x,int bit) { while(bit>0) { bit--; x/=3; } return x%3; } std::vector<std::vector<int>> devise_strategy(int N) { int n=N; vector<vector<int>> sol; for(int board=0;board<=24;board++) { vector<int> v; if(board==0) { v.push_back(0); int bit=7; for(int i=1;i<=n;i++) { int x=getbit(i,bit); v.push_back(bit*3+x+1); } sol.push_back(v); continue; } int bit=(board-1)/3; int val=(board-1)%3; if(bit%2==1) { v.push_back(1); for(int i=1;i<=n;i++) { int x=getbit(i,bit); if(x<val) v.push_back(-2); if(x>val) v.push_back(-1); if(x==val) v.push_back((bit-1)*3+getbit(i,bit-1)+1); } sol.push_back(v); continue; } else { v.push_back(0); for(int i=1;i<=n;i++) { int x=getbit(i,bit); if(x<val) v.push_back(-1); if(x>val) v.push_back(-2); if(x==val) v.push_back((bit-1)*3+getbit(i,bit-1)+1); } sol.push_back(v); continue; } } return sol; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...