제출 #1020982

#제출 시각아이디문제언어결과실행 시간메모리
1020982ZanP자동 인형 (IOI18_doll)C++17
6 / 100
65 ms13008 KiB
#include "doll.h" #include <iostream> #include <vector> #include <algorithm> #include <unordered_map> using namespace std; struct xyswitch { int x, y; xyswitch() {} xyswitch(int x, int y) { this->x = x; this->y = y; } }; void answer(vector<int> C, vector<int> X, vector<int> Y); vector<xyswitch> xyswitches; void make_switches(vector<int>& connected, int filler, int base_switch) { vector<int> s1, s2; int m = connected.size(); int f1 = min(filler, (m+filler)/2), f2 = filler - f1; for (int i = 0; i < m; i++) { if (i % 2 == 0) { if (i/2 >= f1) { s1.push_back(connected[i]); } else s2.push_back(connected[i]); } else { s2.push_back(connected[i]); } } int x, y; xyswitches.push_back(xyswitch()); int sn = xyswitches.size() - 1; if (s1.size() == 0) { xyswitches[sn].x = base_switch; } else if (s1.size() == 1) { xyswitches[sn].x = s1[0]; } else { xyswitches[sn].x = -((int)xyswitches.size() + 1); make_switches(s1, f1, base_switch); } if (s2.size() == 1) { xyswitches[sn].y = s2[0]; } else { xyswitches[sn].y = -((int)xyswitches.size()+1); make_switches(s2, f2, base_switch); } } void create_circuit(int M, std::vector<int> A) { int n = A.size(); vector<vector<int>> repetitions; repetitions.resize(M+1); vector<int> c(M+1,0); for (int i = 0; i < n - 1; i++) { repetitions[A[i]].push_back(A[i + 1]); } repetitions[A[n - 1]].push_back(0); for (int i = 1; i <= M; i++) { int m = repetitions[i].size(), mxtwo = 1; while (mxtwo < m) { mxtwo *= 2; } if (m == 0) { continue; } if (m == 1) { c[i] = repetitions[i][0]; } else { c[i] = -(int)xyswitches.size() - 1; make_switches(repetitions[i], mxtwo - m, xyswitches.size() + 1); } } int s = xyswitches.size(); vector<int> x(s), y(s); c[0] = A[0]; for (int i = 0; i < s; i++) { x[i] = xyswitches[i].x; y[i] = xyswitches[i].y; } answer(c, x, y); }

컴파일 시 표준 에러 (stderr) 메시지

doll.cpp: In function 'void make_switches(std::vector<int>&, int, int)':
doll.cpp:27:9: warning: unused variable 'x' [-Wunused-variable]
   27 |     int x, y;
      |         ^
doll.cpp:27:12: warning: unused variable 'y' [-Wunused-variable]
   27 |     int 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...