Submission #95733

#TimeUsernameProblemLanguageResultExecution timeMemory
95733dwscMechanical Doll (IOI18_doll)C++14
0 / 100
1 ms204 KiB
#include "doll.h" #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); A.push_back(0); vector<int> X,Y; if (M == 1){ if (N == 1){ C[0] = 1; C[1] = 0; } else if (N == 2){ C[0] = 1; C[1] = -1; X.push_back(1); Y.push_back(0); } answer(C,X,Y); return; } vector<int> adj[M+1]; int cur = 0; for (int i = 0; i < N; i++){ adj[cur].push_back(A[i]); cur = A[i]; } adj[A[N-1]].push_back(0); int num = -1; for (int i = 0; i <= M; i++){ unique(adj[i].begin(),adj[i].end()); if (adj[i].size() == 0) C[i] = 0; else if (adj[i].size() == 1) C[i] = 1; else{ C[i] = num--; X.push_back(adj[i][0]); Y.push_back(adj[i][1]); } } 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...