trang chủ / đề bài / dhbb17_cube

Trò chơi xếp hình

Đề bài

Mô tả

Một sản phẩm thú vị khác mà Tuấn Anh tạo ra và cùng chơi với các bạn đó là trò chơi xếp hình. Trò chơi với rất nhiều các hình khối lập phương kích thước 2×2×2 nhưng bị khuyết một ô (mỗi hình gồm 7 ô lập phương đơn vị, là khối 2×2×2 bỏ đi một ô ở góc; hình có thể xoay theo mọi hướng, nên ô bị khuyết có thể là bất kỳ ô nào trong 8 ô của khối).

Mỗi lượt chơi, các bạn cùng thống nhất chọn ra 4 số nguyên d,x,y,z, trong đó 1≤x,y,z≤2d. Sau đó, Tuấn Anh và các bạn cùng xếp xem ai xếp được hình lập phương kích thước 2d×2d×2d nhưng khuyết một ô ở vị trí (x,y,z).

Cụ thể, sau khi xếp xong, hình được đặt trên mặt bàn, các lớp tương ứng theo từng chiều X,Y,Z được đánh số từ 1 đến 2d, ô nằm giao giữa ba lớp tương ứng x,y,z (1≤x,y,z≤2d) được gọi là ô có vị trí (x,y,z). Các hình phải lấp kín mọi ô khác ô (x,y,z), không có hai hình nào chung một ô và không hình nào vượt ra ngoài khối lập phương.

Yêu cầu: Cho d,x,y,z, hãy lập trình đưa ra phương án xếp thỏa mãn.

Dữ liệu vào

Gồm một dòng chứa 4 số nguyên dương d,x,y,z. Hai số liên tiếp trên cùng dòng được ghi cách nhau bởi dấu cách.

Dữ liệu ra

Mô tả cách xếp. Gọi s là số lượng hình (khối lập phương kích thước 2×2×2 nhưng bị khuyết một ô) được sử dụng, các hình này được đánh số hiệu từ 1 đến s. Việc mô tả cách xếp ghi theo khuôn dạng sau: Gồm 2d nhóm dòng, nhóm thứ i mô tả lớp thứ i theo chiều X, mỗi nhóm gồm 2d dòng. Dòng thứ j của nhóm thứ i có 2d số, số thứ k trên dòng thứ j của nhóm thứ i mô tả số hiệu hình chứa ô có vị trí (i,j,k). Ô (x,y,z) ghi số 0.

Các nhóm dòng được ghi liên tiếp, không có dòng trống giữa các nhóm. Nếu có nhiều cách xếp, in ra cách bất kỳ; số hiệu các hình có thể gán theo thứ tự tùy ý.

Ràng buộc

  • 1≤d≤5.
  • 1≤x,y,z≤2d.

Subtasks

  • Có 30% số test ứng với 30% số điểm có d=1;
  • Có 30% số test khác ứng với 30% số điểm có d=2;
  • Có 40% số test còn lại ứng với 40% số điểm có d≤5.

Ví dụ

Input Output Giải thích
1 2 2 2 1 1
1 1
1 1
1 0
Khối 2×2×2 khuyết ô (2,2,2) chính là một hình, có số hiệu 1.
2 1 2 3 2 2 3 3
2 2 0 3
4 4 5 5
4 4 5 5
2 2 3 3
2 1 3 3
4 1 1 5
4 4 5 5
6 6 7 7
6 1 1 7
8 1 1 9
8 8 9 9
6 6 7 7
6 6 7 7
8 8 9 9
8 8 9 9
16 dòng: 4 nhóm, mỗi nhóm 4 dòng ứng với lớp i=1,2,3,4 theo chiều X. Dùng s=9 hình. Hình 1 chiếm 7 ô của khối 2×2×2 ở giữa (2≤i,j,k≤3) trừ ô (2,2,3); mỗi hình 2,…,9 nằm trong một góc 2×2×2 của khối lập phương.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0