# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
95720 | 2019-02-02T08:19:26 Z | dwsc | Mechanical Doll (IOI18_doll) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; void create_circuit(int M, std::vector<int> A) { int N = A.size(); std::vector<int> C(M + 1); vector<int> X,Y; for (int i = 0; i <= M; i++) C[i] = 1e9; int cur = 0; int num = 1; for (int i = 0; i < N; i++){ if (C[cur] == 1e9){ C[cur] = A[i]; } else{ X.push_back(C[cur]); Y.push_back(A[i]); C[cur] = -num; num++; } cur = A[i]; } for (int i = 0; i<= M; i++){ if (C[i] == 1e9) C[i] = 0; //cout << C[i] << " "; } answer(C, X, Y); }