trang chủ / bài tập / zebratow

Tháp Ngựa Vằn

Đề bài

Mô tả

Cho n khối lập phương. Khối thứ i có màu ci và kích thước si.

Một Tháp Ngựa Vằn là một tháp xếp chồng các khối thỏa mãn:

  • Tháp chỉ gồm các khối thuộc đúng hai màu khác nhau.
  • Màu của các khối kề nhau trong tháp phải khác nhau (các màu xen kẽ nhau).
  • Tháp có ít nhất hai khối.

Chiều cao của tháp là tổng kích thước của tất cả các khối tạo thành tháp. Mỗi khối chỉ được dùng nhiều nhất một lần.

Hãy xây dựng một Tháp Ngựa Vằn có chiều cao lớn nhất có thể.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số khối.
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên cisi lần lượt là màu và kích thước của khối thứ i.

Dữ liệu đảm bảo có ít nhất hai khối thuộc hai màu khác nhau.

Dữ liệu ra

In ra ba dòng mô tả một Tháp Ngựa Vằn có chiều cao lớn nhất:

  • Dòng đầu: chiều cao của tháp.
  • Dòng thứ hai: số khối tạo thành tháp.
  • Dòng thứ ba: các chỉ số của các khối theo thứ tự từ dưới lên trên của tháp, cách nhau bởi dấu cách. Các khối được đánh số từ 1 đến n theo thứ tự nhập vào.

Nếu có nhiều tháp cùng đạt chiều cao lớn nhất, in ra bất kỳ tháp nào.

Ràng buộc

  • 2n105
  • 1ci,si109

Ví dụ

Input Output Giải thích
2
1 1
2 1
2
2
2 1
Chỉ có một tháp khả dĩ: hai khối màu 2 và màu 1, chiều cao 1+1=2.
4
1 2
1 3
2 4
3 3
9
3
2 3 1
Tháp gồm khối 2 (màu 1, kích thước 3), khối 3 (màu 2, kích thước 4), khối 1 (màu 1, kích thước 2). Màu xen kẽ 1, 2, 1 và chiều cao 3+4+2=9 là lớn nhất.

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