BOI 2010 - Lego
Xem PDFBạn đang dùng các khối Lego để huấn luyện một hệ thống thị giác nhân tạo. Cho hai hình nhìn một mô hình Lego từ hai góc khác nhau, hãy tính số cách xây dựng mô hình đó.
Chỉ có một loại khối Lego với \(2 \times 2\) nút, nhưng có ba màu: trắng (W), xám (G) và đen (B). Số khối mỗi màu là không giới hạn. Bạn dùng một đế vuông có \(6 \times 6\) nút. Các cạnh của mỗi khối phải song song với các cạnh của đế và không khối nào được nhô ra ngoài đế. Mỗi khối đặt phía trên phải tựa lên ít nhất một khối bên dưới.
Hình bên trái là một cách đặt khối lên khối khác hợp lệ. Hình giữa không hợp lệ vì khối phía trên lơ lửng trong không khí. Hình bên phải cũng không hợp lệ vì khối phía trên nhô ra ngoài đế.
Dữ liệu vào
Dòng đầu chứa số nguyên \(H\), là chiều cao của mô hình. Tiếp theo là \(H\) dòng, mỗi dòng có \(6\) ký tự, mô tả hình nhìn từ phía A trong hình minh họa ở ví dụ. Ký tự thứ \(j\) trên dòng thứ \(i\) cho biết những gì nhìn thấy ở cột thứ \(j\) từ trái sang và hàng thứ \(i\) từ trên xuống. Mỗi ký tự là W, G, B hoặc ., lần lượt biểu thị màu trắng, xám, đen hoặc một khoảng trống.
Bạn không thể biết độ sâu từ hình nhìn: màu tại một vị trí có thể thuộc về một khối gần phía trước hoặc xa hơn phía sau, miễn là không có khối khác che khuất tầm nhìn.
Tiếp theo là \(H\) dòng nữa, mô tả hình nhìn khi người quan sát di chuyển quanh mô hình một góc \(90^\circ\) ngược chiều kim đồng hồ, tới phía B trong hình minh họa.
Dữ liệu ra
In một số nguyên là số mô hình Lego khác nhau phù hợp với cả hai hình nhìn. Hai mô hình vẫn được tính riêng ngay cả khi có thể thu được mô hình này bằng cách xoay hoặc lấy đối xứng mô hình kia.
Ràng buộc
- \(1 \le H \le 6\).
- Mỗi dòng của mỗi hình nhìn có đúng \(6\) ký tự thuộc tập
W,G,B,.. - Kết quả luôn biểu diễn được bằng một số nguyên có dấu \(64\) bit.
Ví dụ
Kỳ thi:
- BOI 2010 - Ngày 1 (1 Tháng 1., 2010)


Bình luận