Tổng hợp thủ công các khuôn mặt của khối lập phương là tẻ nhạt và tốn thời gian, giống như viết mã trong chính Cuba.
Trong phần lập phương hiệu quả nhất , tôi đã yêu cầu bạn dịch ASCII sang nguồn gốc. Một trong những câu trả lời ở đó sử dụng chuỗi khởi tạo khối và sau đó sửa đổi khối kết quả dựa trên tổng của khối được khởi tạo trước. Phương pháp này đã được sử dụng trong nhiều chương trình liên quan đến Cuba kể từ đó. Khi kiểm tra trình tự khởi tạo mới, người ta phải cộng tất cả các giá trị trên tất cả các mặt, thường mất hai hoặc ba phút.
Nhiệm vụ của bạn là tự động hóa quá trình này cho chúng tôi!
Bạn sẽ lấy hai đầu vào, một số nguyên n
và một chuỗi c
. Chúng có thể được đọc từ các đối số dòng lệnh, đối số chức năng, đầu vào tiêu chuẩn, một tệp hoặc bất kỳ sự kết hợp nào của chúng. c
sẽ là một khối bộ nhớ hình khối có kích thước n
như được in bởi trình thông dịch.
Trình thông dịch lập phương đưa khối lập phương của nó vào STDERR khi kết thúc chương trình, được định dạng độc đáo để xem đơn giản. Chạy một chương trình trống trong trình thông dịch lập phương và mở phần gỡ lỗi để xem kết xuất khối của khối được khởi tạo. Thêm một đối số 4
để xem 4x4x4 hoặc 5
để xem 5x5x5, v.v.
Nếu n
là 3, c
sẽ theo định dạng này (số nguyên sẽ là biến):
000
000
000
111222333444
111222333444
111222333444
555
555
555
Không gian, dòng mới, và tất cả. Nếu n
là 4, c
sẽ trông như thế này (cũng với các số nguyên biến):
0000
0000
0000
0000
1111222233334444
1111222233334444
1111222233334444
1111222233334444
5555
5555
5555
5555
Vân vân.
Chương trình của bạn sẽ xuất ra sáu số nguyên. Số nguyên đầu tiên sẽ là tổng của tất cả các số trên mặt trên.
000
000 top face
000
111222333444 left, front, right, and back faces, respectively
111222333444
111222333444
555
555 bottom face
555
Số nguyên thứ hai sẽ là tổng của mặt trái, thứ ba phía trước, thứ tư bên phải, thứ năm phía sau và thứ sáu phía dưới.
Vì vậy, nếu n
là 3 và c
đây là:
242
202
242
000131555313
010121535343
000131555313
424
454
424
Chương trình của bạn sẽ xuất ra 20 1 14 43 24 33
.
Quy tắc bổ sung:
- Các số nguyên đầu ra phải được phân cách bằng các ký tự không nguyên. Bạn cũng có thể chọn trả về một mảng.
- Bạn có thể cho rằng đầu vào là chính xác -
n
là một số nguyên vàc
là một khối từ đầu ra gỡ lỗi của Cubally . Vì vậy, nếun
đã3.0
vàc
đangfoo bar
, chương trình của bạn có thể phá vỡ và vẫn còn hiệu lực. - Chương trình của bạn chỉ cần làm việc cho
n > 1
vàn < 1260
. Nó có thể (cố gắng) xử lý kích thước khối lớn hơn hoặc nhỏ hơn, nhưng không cần thiết.
Đây là môn đánh gôn , vì vậy đoạn mã ngắn nhất sẽ thắng! Nếu bạn cần giúp đỡ, vui lòng hỏi trong phòng chat của Cuba .
n
không gian sau mỗi dòng, không. Chúng không được bao gồm trong bãi chứa.