Hãy xem xét các khối 3x3 sau đây mà thuật toán hình vuông diễu hành sẽ xác định cho mọi ô (với ID có nhãn dựa trên 0):
0:
...
...
...
1:
...
...
\..
2:
...
...
../
3:
...
---
...
4:
..\
...
...
5:
/..
...
../
6:
.|.
.|.
.|.
7:
/..
...
...
8:
/..
...
...
9:
.|.
.|.
.|.
10:
..\
...
\..
11:
..\
...
...
12:
...
---
...
13:
...
...
../
14:
...
...
\..
15:
...
...
...
Mục tiêu của thử thách này được đưa ra một ma trận 2D của khối ID, vẽ toàn bộ đường viền bằng cách xếp các ô nhỏ hơn lại với nhau. Lưu ý rằng có một số trường hợp lặp lại (ví dụ: 0 và 15 trực quan giống nhau)
Đầu vào
Chương trình / hàm của bạn sẽ lấy đầu vào là ma trận hình chữ nhật 2D của các số nguyên trong phạm vi [0+a,15+a]
(trong đó a
là một sự thay đổi số nguyên tùy ý bạn chọn, điều này cho phép bạn sử dụng lập chỉ mục dựa trên số 0 hoặc lập chỉ mục dựa trên 1 cho các khối). Điều này có thể từ bất kỳ nguồn mong muốn (stdin, tham số chức năng, vv).
Đầu ra
Chương trình / hàm của bạn sẽ xuất ra một chuỗi đơn biểu thị toàn bộ đường viền. Không nên có thêm khoảng trắng hàng đầu / dấu, nhưng một dòng mới duy nhất được phép. Không nên có sự tách biệt giữa các khối liền kề theo chiều dọc hoặc chiều ngang.
Lưu ý rằng bạn không phải thực hiện bất kỳ loại xử lý đặc biệt nào đối với các khối ánh xạ tới "yên xe"; chỉ cần vẽ khối với ID đã cho.
Đầu ra có thể là bất kỳ mức chìm nào mong muốn (thiết bị xuất chuẩn, giá trị trả về, v.v.)
Ví dụ
Tất cả các ví dụ dưới đây sử dụng ID khối dựa trên 0.
case 1:
2 1
4 8
......
......
../\..
..\/..
......
......
case 2:
15 13 12 14 15
13 8 0 4 14
11 1 0 2 7
15 11 3 7 15
...............
......---......
...../...\.....
.../.......\...
...............
../.........\..
..\........./..
...............
...\......./...
.....\.../.....
......---......
...............
case 3:
12 12 12 8 4
0 0 0 0 2
0 0 0 2 7
0 2 3 7 15
........./....\
---------......
...............
...............
...............
............../
............/..
...............
.........../...
........./.....
......---......
...../.........
case 4:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
............
.........---
...\..../...
..\/...|./..
.......|....
...../.|....
/...|...\..\
....|.......
....|.\.....
............
---.........
...../\.....
case 5:
0 0 0 0 6 15 15
0 0 0 0 6 15 15
0 0 0 0 6 15 15
0 0 0 2 7 15 15
0 0 2 5 14 15 15
0 2 5 8 4 12 14
0 4 8 0 0 0 6
0 0 0 0 0 0 4
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
............/........
.....................
.........../.........
........./...........
.....................
......../../\........
....../../....\......
...............---...
...../../.........\..
.....\/............|.
...................|.
...................|.
....................\
.....................
.....................
Chấm điểm
Đây là mã golf; mã ngắn nhất trong byte thắng. Tiêu chuẩn áp dụng.