(Lấy cảm hứng ngẫu nhiên từ https://codegolf.meta.stackexchange.com/a/17272/42963 )
Cho một ma trận hình chữ nhật gồm các chữ số (nghĩa là 0 - 9
), xuất ra các "mảnh" của ma trận như thể các chữ số được kết nối với nhau tạo thành một mảnh duy nhất, theo thứ tự tăng dần theo các chữ số. Các mảnh được đảm bảo chỉ kết nối trực giao - không có mảnh nào sẽ kết nối theo đường chéo. Sẽ chỉ có tối đa 10 mảnh (nghĩa là một 3
mảnh sẽ không xuất hiện hai lần trong cùng một ma trận).
Ví dụ, đưa ra ma trận
0 1 1 1
0 0 1 2
3 3 2 2
Sau đây là các phần và một ví dụ đầu ra:
0
0 0
1 1 1
1
2
2 2
3 3
Khoảng cách là quan trọng để giữ hình dạng của các mảnh, nhưng các mảnh không nhất thiết cần khoảng cách bên trong. Bản thân các mảnh nên bằng cách nào đó được phân biệt một cách nhất quán (ví dụ: một dòng mới giữa các mảnh, đảm bảo mỗi mảnh là một ký tự khác nhau, v.v.). Ngoài ra, không được phép có khoảng trắng bên ngoài (ví dụ: theo dõi dòng mới hoặc cột hàng đầu). Ví dụ: những điều sau đây cũng sẽ hợp lệ:
0
00
111
1
2
22
33
hoặc là
#
##
###
#
#
##
##
Nhưng sau đây sẽ không được (lưu ý các dấu cách phía sau 0
s):
0
0 0
Xoay hoặc phản xạ cũng không được phép. Ví dụ: xuất
1
111
cho ma trận trên cũng không hợp lệ.
Các mảnh ma trận có thể có lỗ, hoặc chỉ là một yếu tố duy nhất:
0 0 0 1
0 2 0 1
0 0 0 3
Hoặc, mảnh có thể là toàn bộ ma trận:
0 0 0
0 0 0
Đây là một trường hợp thử nghiệm lớn hơn, phức tạp hơn:
1 1 1 1 1 2 2
3 4 4 4 2 2 2
5 5 4 4 2 0 0
5 6 6 6 6 7 7
5 6 8 8 6 6 7
9 6 6 6 7 7 7
Và một ví dụ đầu ra:
00
11111
22
222
2
3
444
44
55
5
5
6666
6 66
666
77
7
777
88
9
Quy tắc và I / O
- Đầu vào và đầu ra có thể được đưa ra bởi bất kỳ phương pháp thuận tiện .
- Bạn có thể in nó sang STDOUT hoặc trả lại dưới dạng kết quả chức năng.
- Hoặc là một chương trình đầy đủ hoặc một chức năng được chấp nhận.
- Khoảng trắng hàng đầu để giữ hình dạng (ví dụ: hình chữ "T"
1
trong ví dụ) là bắt buộc, khoảng trắng nhất quán để làm cho các mảnh khác biệt và một dòng mới ở cuối được cho phép, nhưng không được phép có khoảng trắng khác. - Bạn có thể giả định rằng các mảnh được đánh số
0
đểN
liên tục kế nhau, có nghĩa là (ví dụ)3
sẽ không thể bỏ qua trong một ma trận Sáu mảnh. - Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn để áp dụng tất cả các quy tắc chơi gôn thông thường và mã ngắn nhất (tính bằng byte) sẽ thắng.
0
làm giá trị phụ? Vì vậy, mỗi phần sẽ là đầu ra với phần còn lại của các giá trị trong ma trận được đặt thành0
-1
hoặc một số giá trị khác thay vì không có gì / khoảng trắng sẽ không ổn.
' '
sử dụng khoảng trắng ( ) trong trường hợp đó không?
-1
hoặc một khoảng trắng biểu thị một khoảng trống hoặc không có phần tử nếu có thể)?