Submission #839584

#TimeUsernameProblemLanguageResultExecution timeMemory
839584model_codeLockpicking (IOI23_lockpicking)C++17
21 / 100
1 ms340 KiB
// incorrect/wa1.cpp #include "lockpicking.h" using namespace std; int M; vector<int> a, b; vector<vector<int>> s, t; void construct_card(int N, std::vector<int> A, std::vector<std::vector<int>> S) { a = A, s = S; M = N*N; b.resize(M); t.assign(M, vector<int>(2)); for (int c=0; c<N; ++c) { for (int j=c*N; j<(c+1)*N; ++j) { b[j] = a[j%N]; t[j][b[j]] = s[j%N][b[j]]; t[j][1-b[j]] = -1; } } for (int i0=1; i0<N; ++i0) { int i = i0, j = 0; vector<bool> vis(M, false); while (!vis[j]) { vis[j] = true; if (b[j] == a[i]) { j = t[j][b[j]]; i = s[i][a[i]]; } else { if (t[j][a[i]] == -1) { int nxti = s[i][1-a[i]]; t[j][a[i]] = i0*N + nxti; break; } else { j = t[j][1-b[j]]; i = s[i][1-a[i]]; } } } } for (int j=0; j<M; ++j) { t[j][0] = max(0, t[j][0]); t[j][1] = max(0, t[j][1]); } define_states(M, b, t, 0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...