제출 #1067527

#제출 시각아이디문제언어결과실행 시간메모리
1067527mariaclara죄수들의 도전 (IOI22_prison)C++17
72 / 100
8 ms1116 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define all(x) x.begin(), x.end() #define sz(x) (int)x.size() #define pb push_back #define mk make_pair #define fr first #define second vector<vector<int>> devise_strategy(int N) { // 1, 2, 3 -> se refere ao digito 7 // 4, 5, 6 -> se refere ao digito 1 int x = 23; vector<vector<int>> s(x+1); vector<int> pot(10, 1); for(int i = 1; i < 10; i++) pot[i] = pot[i-1]*3; for(int i = 0; i <= x; i++) { s[i].resize(N+1); int exp = (i-1)/3; if(i == 0) exp--; s[i][0] = (exp+1)%2; exp = 7-exp; for(int j = 1; j <= N; j++) { // tava escrito o número i e eu vi a bolsa e tá escrito o número j int d1 = (i-1)%3; int d2 = (j/pot[exp])%3; if((d1 == d2 or exp == 8) and exp != 0) s[i][j] = (8-exp)*3 + 1 + (j/pot[exp-1])%3; else if(d1 > d2) s[i][j] = -1 - s[i][0]; else if(d2 > d1) s[i][j] = -2 + s[i][0]; if(s[i][j] == 24) s[i][j] = -2 + s[i][0]; } } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...