Bạn đã được thuê làm trợ lý nghiên cứu, và được yêu cầu tạo ra một chương trình nhỏ sẽ xây dựng mê cung chuột. Hộp chuột luôn là 62x22 và có lối vào (a) và lối ra (A) cho chuột, như thế này (đầu vào 1):
#######a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
#################################################A############
Chương trình của bạn phải điền vào ô với các khối (#) để lại đường dẫn cho chuột, như thế này (đầu ra 1):
#######a######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ######################################################
####### ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
################################################# ############
#################################################A############
Điều này thật dễ dàng bạn nghĩ! Bạn bắt đầu viết một chương trình nhỏ, đầy tự tin. Tuy nhiên, Nhà khoa học nguyên lý đã có một ý tưởng mới - ông muốn hai con chuột điều hướng mê cung cùng một lúc. Tiến sĩ Rattanshnorter giải thích rằng họ có những cánh cửa khác nhau và lối thoát khác nhau (đầu vào 2):
#b#####a######################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# #
# B
# #
#################################################A############
Những con chuột đã được huấn luyện để di chuyển thẳng qua các giao lộ chéo nhưng giao lộ T khiến chúng bối rối vô vọng và sẽ làm mất hiệu lực thí nghiệm. Bạn bắt đầu nhiệm vụ phức tạp mới của mình khi Bác sĩ giỏi giải thích một yêu cầu cuối cùng: lũ chuột dã man với nhau vì vậy nếu chúng gặp nhau bất cứ lúc nào, một cuộc chiến chuột sẽ nổ ra và cả hai bạn sẽ ở trước hội đồng đạo đức. Bây giờ bạn nhận ra chương trình của bạn sẽ xuất ra một mê cung giống như thế này (đầu ra 2):
#b#####a######################################################
# ##### ######################################################
# ##### ######################################################
# ##### ####################################### ####
# ##### ####################################### ######### ####
# ##### ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# ############################################# # ####### ####
# # ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### ####
################################################# ####### B
################################################# ############
#################################################A############
Đến khi chuột B đến ngã tư, chuột A sẽ đi dọc hành lang để thoát khỏi A và cuộc chiến chuột sẽ tránh được.
Quy tắc:
Chương trình của bạn nên đọc trong (STDIN hoặc tệp) một đầu vào như ở trên và đầu ra (STDOUT hoặc tệp) cùng một dữ liệu ngoại trừ nhiều khoảng trắng sẽ bị băm (#). Bạn có thể thay thế bất kỳ ký tự đơn nào (chẳng hạn như
;
) thay vì\n
trong chuỗi đầu vào nhưng chuỗi đầu ra vẫn yêu cầu các\n
ký tự. CẬP NHẬTMột con đường chuột phải có chiều rộng một ký tự, ngoại trừ các giao điểm chéo (mỗi không gian phải có 0 hoặc hai
#
ký tự liền kề trực giao ). Mỗi con chuột phải có một con đường duy nhất rõ ràng, ngoại trừ các giao lộ chéo. Không có giao lộ T được phép.Chuột được thả ra đồng thời và di chuyển với tốc độ không đổi. Không bao giờ nên có hai hoặc nhiều chuột nhìn thấy nhau (ở cùng một cột hoặc hàng mà không có một trong nhiều
#
ký tự ở giữa).Nếu không có giải pháp nào khả thi (như các điểm vào liền kề), hãy in
Impossible\n
và thoát.Lối vào và lối ra có thể ở bất kỳ phía nào, tuy nhiên chúng sẽ không bao giờ nằm ở các góc.
Nếu lối vào và lối ra phù hợp liền kề (ví dụ
##aA##
:), chuột không thể đi trực tiếp từa
đếnA
. Phải có một phần hành lang 2 không gian nhỏ bên trong khu vực mê cung.Ở ngã rẽ nơi một con chuột đến điểm thoát của nó (hoặc bất cứ lúc nào sau đó), nó không còn nhìn thấy được đối với những con chuột khác.
Chương trình của bạn có thể được thiết kế để tính toán mê cung cho 1, 2, tối đa 26 con chuột.
Sơ hở tiêu chuẩn là không được phép.
Ghi bàn:
Với giải pháp của bạn, hãy chỉ định số lượng chuột trên mỗi mê cung (N) mà chương trình của bạn có thể giải quyết. Điểm của bạn là độ dài mã của bạn tính bằng byte chia cho số N này.
Vui lòng bao gồm một đầu ra mẫu trong câu trả lời của bạn để chúng tôi có thể xem chương trình của bạn tạo ra những gì.