제출 #1244748

#제출 시각아이디문제언어결과실행 시간메모리
1244748jeroenodb자동 인형 (IOI18_doll)C++20
6 / 100
44 ms11192 KiB
#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<=m;++i) { buildseg(i,nxt[i]); } 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...