Submission #1215803

#TimeUsernameProblemLanguageResultExecution timeMemory
1215803banganPrisoner Challenge (IOI22_prison)C++20
36.50 / 100
11 ms1608 KiB
#include "prison.h" #include <bits/stdc++.h> using namespace std; int kth(int x, int k) { k = 3-k; while (k--) x/=10; return x%10; } const int X = 39; std::vector<std::vector<int>> devise_strategy(int N) { vector s(X+1, vector<int>(N+1)); for (int i=0; i<=3; i++) s[i][0] = 0; for (int i=4; i<=X; i++) s[i][0] = 1; for (int j=1; j<=N; j++) s[0][j] = kth(j, 0) + 4; for (int i=1; i<=3; i++) for (int j=1; j<=N; j++) s[i][j] = 10*i + kth(j, i); for (int i=4; i<=9; i++) for (int j=1; j<=N; j++) { if (i-4 < kth(j, 0)) s[i][j] = -1; else if (i-4 == kth(j, 0)) s[i][j] = 1; else if (i-4 > kth(j, 0)) s[i][j] = -2; } for (int i=10; i<=X; i++) for (int j=1; j<=N; j++) { if (i%10 < kth(j, i/10)) s[i][j] = -1; else if (i%10 == kth(j, i/10)) s[i][j] = i/10 + 1; else if (i%10 > kth(j, i/10)) s[i][j] = -2; } // cout << "\t"; // for (int i=0; i<=N; i++) cout << i << "\t"; // cout << "\n"; // for (int i=0; i<=X; i++) { // cout << i << "\t"; // for (int j=0; j<=N; j++) cout << s[i][j] << "\t"; // cout << "\n"; // } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...