이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100100;
const int NONE = 123456;
vector<int> X, Y;
vector<int> neigh[MAXN];
int sCount = -1;
int createSwitch(int x, int y) {
X.push_back(x);
Y.push_back(y);
return sCount--;
}
int createTree(vector<int> &neigh) {
int ROOT = sCount-14;
int last = neigh[neigh.size()-1];
int ns = (int)neigh.size();
neigh[ns-1] = ROOT;
for (int i = 0; i < 16-ns; i++)
neigh.push_back(ROOT);
neigh[15] = last;
int a1 = createSwitch(neigh[0], neigh[8]);
int a2 = createSwitch(neigh[4], neigh[12]);
int a3 = createSwitch(neigh[2], neigh[10]);
int a4 = createSwitch(neigh[6], neigh[14]);
int a5 = createSwitch(neigh[1], neigh[9]);
int a6 = createSwitch(neigh[5], neigh[13]);
int a7 = createSwitch(neigh[3], neigh[11]);
int a8 = createSwitch(neigh[7], neigh[15]);
int b1 = createSwitch(a1, a2);
int b2 = createSwitch(a3, a4);
int b3 = createSwitch(a5, a6);
int b4 = createSwitch(a7, a8);
int c1 = createSwitch(b1, b2);
int c2 = createSwitch(b3, b4);
int x = createSwitch(c1, c2);
return x;
}
void printAns(vector<int> C, vector<int> X, vector<int> Y) {
cout << "C: ";
for (int x : C)
cout << x << " ";
cout << endl;
cout << "(X, Y): ";
for (int i = 0; i < (int)X.size(); i++) {
cout << "((" << -(i+1) << "))=";
cout << "(" << X[i] << ", "
<< Y[i] << ") ";
if (!((i+1)%5)) cout << endl;
}
cout << endl;
}
void create_circuit(int M, vector<int> A) {
vector<int> C(M+1, NONE);
A.push_back(0);
for (int i = 0; i < (int)A.size()-1; i++) {
neigh[A[i]].push_back(A[i+1]);
}
for (int i = 1; i <= M; i++)
if (!neigh[i].size())
neigh[i].push_back(0);
C[0] = A[0];
for (int i = 1; i <= M; i++) {
C[i] = createTree(neigh[i]);
}
for (int i = 1; i <= M; i++) {
if (C[i] == NONE)
C[i] = 0;
}
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... |