Bộ lắp ghép thợ điện

Đề bài

Mô tả

Một bộ lắp ghép gồm 2n bóng đèn được đánh số từ 1 đến 2n2n1 sợi dây giống hệt nhau. Mỗi sợi dây phải được dùng để nối hai bóng đèn khác nhau, sao cho mạng lưới thu được là một cây: giữa hai bóng đèn bất kì luôn tồn tại đúng một đường đi.

Cặp bóng đèn mang chỉ số 2i12i sẽ phát sáng khi và chỉ khi đường đi nối chúng đi qua đúng di sợi dây.

Hãy tìm một cách nối để tất cả các bóng đèn đều phát sáng. Dữ liệu đảm bảo luôn tồn tại ít nhất một cách nối thỏa mãn; nếu có nhiều cách, in ra cách bất kì.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên d1,d2,,dn.

Dữ liệu ra

In ra 2n1 dòng, dòng thứ i chứa hai số nguyên phân biệt aibi (1ai,bi2n) là chỉ số hai bóng đèn được nối bởi sợi dây thứ i.

Ràng buộc

  • 1n100000
  • 1din

Ví dụ

Input Output Giải thích
3
2 2 2
1 3
3 5
3 2
5 4
4 6
Đường đi 132 dài 2 dây, 354 dài 2, 546 dài 2. Cả ba cặp đều thỏa mãn nên mọi bóng đều sáng. Đáp án trong đề gốc khác nhưng cũng hợp lệ.
2
1 1
1 3
1 2
3 4
Hai cặp (1,2)(3,4) được nối trực tiếp nên khoảng cách bằng 1; sợi dây 13 dùng để nối cả hai cặp thành một cây.
4
2 2 2 1
1 3
3 5
5 7
3 2
5 4
7 6
7 8
Ba cặp đầu cách nhau 2 dây (ví dụ 576), còn cặp (7,8) được nối trực tiếp nên cách nhau 1 dây.

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 1.26.3 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