Giới thiệu
Các Atari ST là một máy tính cá nhân khá phổ biến từ giữa 80 để đầu kỷ nguyên 90, trang bị một bộ vi xử lý Motorola 68000. Trên máy này, hành vi mặc định của hệ điều hành đối với các ngoại lệ CPU chưa được phát hiện là hiển thị một hàng bom trên màn hình, như trong hình sau:
Nguồn: https :
//commons.wik mega.org/wiki/File:Row_of_bombs.png NB: Tùy thuộc vào phiên bản HĐH, đồ họa bom có thể thay đổi đôi chút. Nhưng hãy lấy cái này làm tài liệu tham khảo.
Số lượng bom phụ thuộc vào vectơ ngoại lệ, phổ biến nhất là:
- ($ 008) Lỗi xe buýt: 2 quả bom
- ($ 00c) Lỗi địa chỉ: 3 quả bom
- ($ 010) Hướng dẫn bất hợp pháp: 4 quả bom
Mục tiêu
Mục tiêu của bạn là viết một chương trình hoặc chức năng in hoặc xuất ra một nghệ thuật ASCII của những quả bom Atari ST như vậy.
Đầu vào
Một số nguyên biểu thị số lượng bom cần hiển thị. Mã của bạn phải hỗ trợ các giá trị phổ biến nhất: 2, 3 và 4. Hỗ trợ ít hơn và / hoặc nhiều quả bom là tốt, nhưng nó không bắt buộc cũng không phải chịu tiền thưởng.
Đầu ra
Bom ban đầu bao gồm một ô pixel 16x16 pixel, được thể hiện ở đây trong cả ASCII và nhị phân:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
Trong thử thách này, mỗi quả bom ASCII phải được kéo dài gấp đôi chiều rộng ban đầu của nó để hiển thị tốt hơn. Do đó, nó sẽ bao gồm 16 hàng gồm 32 ký tự, sử dụng ##
cho các pixel 'BẬT' và hai khoảng trắng cho các pixel 'TẮT'. Tất cả gạch bom phải được đặt cạnh nhau. Không gian hàng đầu bị cấm. Không gian lưu trữ cũng bị cấm, ngoại trừ những không gian thực sự là một phần của khối bom (tức là cột thứ 31 và 32) phải có mặt. Bạn có thể bao gồm không quá một lần ngắt dòng hàng đầu và không quá một lần ngắt dòng.
Thí dụ
Dưới đây là đầu ra tham chiếu cho hai quả bom, trong đó các ngắt dòng bắt buộc được đánh dấu là \n
và các ngắt dòng bổ sung được đánh dấu là (\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(Tất nhiên, các định dạng ngắt dòng khác như \r
hoặc \r\n
cũng có thể được sử dụng.)
Quy tắc
Đây là môn đánh gôn, vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng. Sơ hở tiêu chuẩn bị cấm.