Dây đèn tự chế

Đề bài

Mô tả

Một dây đèn trang trí gồm n bóng đèn (đánh số từ 1 đến n) và n1 sợi dây nối. Đúng một bóng đèn được nối trực tiếp với nguồn điện, và điện được truyền từ bóng này tới các bóng còn lại thông qua các sợi dây. Mỗi sợi dây nối đúng hai bóng đèn: một bóng gọi là bóng chính của sợi dây (bóng nhận điện từ phía nguồn rồi truyền tiếp qua sợi dây này), bóng còn lại gọi là bóng phụ (bóng nhận điện qua chính sợi dây này). Như vậy cấu trúc của dây đèn là một cây có gốc, gốc là bóng nối với nguồn.

Bóng đèn thứ i có độ sáng bằng 2i. Với mỗi sợi dây, ta định nghĩa độ quan trọng của nó là tổng độ sáng của tất cả các bóng đèn bị mất điện nếu cắt sợi dây đó đi (các sợi dây khác vẫn hoạt động bình thường) — tức là tổng 2i trên toàn bộ cây con nằm phía dưới sợi dây (phía bóng phụ).

Vì mọi độ sáng đều là các lũy thừa khác nhau của 2, nên độ quan trọng của n1 sợi dây là đôi một khác nhau. Người ta đánh số các sợi dây từ 1 đến n1 theo thứ tự giảm dần của độ quan trọng, rồi ghi lại chỉ số bóng chính của từng sợi dây theo đúng thứ tự đó, thu được dãy a1,a2,,an1.

Cho dãy a, hãy khôi phục lại một sơ đồ dây đèn phù hợp. Dữ liệu luôn đảm bảo tồn tại ít nhất một sơ đồ hợp lệ; nếu có nhiều sơ đồ thỏa mãn, in ra một sơ đồ bất kỳ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số bóng đèn.
  • Dòng thứ hai chứa n1 số nguyên a1,a2,,an1, trong đó ai là chỉ số bóng chính của sợi dây thứ i (các sợi dây được đánh số theo thứ tự giảm dần của độ quan trọng).

Dữ liệu ra

  • Dòng đầu in ra một số nguyên k — chỉ số bóng đèn được nối với nguồn điện (gốc của cây).
  • Tiếp theo in ra n1 dòng, mỗi dòng gồm hai số nguyên xiyi (xiyi) — hai bóng đèn được nối bởi một sợi dây. Các sợi dây (và hai đầu của mỗi sợi dây) có thể in theo thứ tự bất kỳ.

Sơ đồ in ra phải là một sơ đồ dây đèn mà từ đó có thể ghi được đúng dãy a1,a2,,an1.

Ràng buộc

  • 2n2·105
  • 1ain

Ví dụ

Input Output Giải thích
6
3 6 3 1 5
3
5 2
1 4
3 1
6 5
3 6
Gốc là bóng 3. Cây: 3652314. Các cây con phía dưới mỗi sợi dây theo độ quan trọng giảm dần cho bóng chính lần lượt là 3,6,3,1,5. Đây chỉ là một trong nhiều sơ đồ hợp lệ.
3
1 1
1
1 2
1 3
Gốc là bóng 1 với hai bóng con 23. Cả hai sợi dây đều có bóng chính là 1.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0