Submission #1221975

#TimeUsernameProblemLanguageResultExecution timeMemory
1221975madamadam3Mechanical Doll (IOI18_doll)C++20
2 / 100
25 ms5192 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for (int i = a; i < b; i++) #define all(x) (x).begin(), (x).end() #define sz(x) (x).size() typedef long long ll; using vi = vector<int>; void simulate(int m, vi &C, vi &X, vi &Y) { int cur = 0, done = 0; vi state(X.size(), 0); while (true) { cout << cur << " "; if (cur == 0 && done > 0) break; if (cur >= 0) { cur = C[cur]; } else { state[(-cur) - 1] = 1 - state[(-cur) - 1]; if (state[(-cur) - 1] == 1) { cur = X[(-cur) - 1]; } else { cur = Y[(-cur) - 1]; } } done++; } } void create_circuit(int m, vi A) { int n = sz(A); vi C(m + 1); vi X(n), Y(n); C[0] = A[0]; FOR(i, 0, n) { C[A[i]] = X[i] = -(i+1); if (i == n - 1) Y[i] = 0; else Y[i] = A[i+1]; } // simulate(m, C, X, Y); answer(C, X, Y); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...