#include "doll.h"
#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
void create_circuit(int M, std::vector<int> A) {
int n = A.size();
int m = M;
vi c(m + 1);
c[0] = -1;
vvi nxt(m+1);
for(int i=0;i+1<n;++i) {
nxt[A[i]].push_back(A[i+1]);
}
nxt[A.back()].push_back(0);
nxt[0].push_back(A[0]);
auto id0 = [&](int at) {
return -(at+1);
};
int at = 0;
vi x,y;
auto nwnode = [&]() {
x.push_back(-1);
y.push_back(-1);
return at++;
};
auto buildseg = [&](int my, vi to) {
if(size(to)==0) {
c[my]=0;
return;
}else if(size(to)==1) {
c[my]=to[0];
return;
}else if(size(to)==2) {
int sw = nwnode();
c[my]=id0(sw);
x[sw]=to[0];
y[sw]=to[1];
} else assert(false);
};
for(int i=0;i<n;++i) {
buildseg(i,nxt[i]);
}
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... |