#include <bits/stdc++.h>
#include "doll.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;
void create_circuit(int M, std::vector<int> A) {
A.push_back(0);
int N = A.size();
vector<int> C(M+1);
vector<int> X, Y;
vector<vector<int>> after(M+1);
for (int i=0; i<N; i++) {
after[A[i]].push_back(A[(i+1)%N]);
}
int S=0;
for (int i=0; i<M+1; i++) {
int sz = after[i].size();
if (sz == 0) {
;
}
else if (sz == 1) {
C[i] = after[i][0];
}
else if (sz == 2) {
C[i] = --S;
X.push_back(after[i][0]);
Y.push_back(after[i][1]);
}
else if (sz <= 4) {
C[i] = --S;
X.push_back(--S);
Y.push_back(--S);
if (sz == 3) {
X.push_back(C[i]);
Y.push_back(after[i][1]);
X.push_back(after[i][0]);
Y.push_back(after[i][2]);
}
else {
X.push_back(after[i][0]);
Y.push_back(after[i][2]);
X.push_back(after[i][1]);
Y.push_back(after[i][3]);
}
}
}
answer(C, X, Y);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |