Pertimbangkan blok 3x3 berikut yang akan diidentifikasi algoritma kotak marching untuk setiap sel (dengan ID berlabel berbasis-0):
0:
...
...
...
1:
...
...
\..
2:
...
...
../
3:
...
---
...
4:
..\
...
...
5:
/..
...
../
6:
.|.
.|.
.|.
7:
/..
...
...
8:
/..
...
...
9:
.|.
.|.
.|.
10:
..\
...
\..
11:
..\
...
...
12:
...
---
...
13:
...
...
../
14:
...
...
\..
15:
...
...
...
Tujuan dari tantangan ini adalah memberikan matriks 2D dari blok ID, menggambar plot kontur penuh dengan menggabungkan sel-sel yang lebih kecil ini. Perhatikan bahwa ada beberapa kasus berulang (mis .: 0 dan 15 secara visual sama)
Memasukkan
Program / fungsi Anda harus mengambil sebagai input matriks persegi panjang 2D bilangan bulat dalam rentang [0+a,15+a](di mana apergeseran bilangan bulat sewenang-wenang pilihan Anda; ini memungkinkan Anda untuk menggunakan pengindeksan berbasis nol atau pengindeksan berbasis 1 untuk blok). Ini mungkin dari sumber yang diinginkan (stdin, parameter fungsi, dll.).
Keluaran
Program / fungsi Anda harus menampilkan string tunggal yang mewakili plot kontur penuh. Seharusnya tidak ada spasi tambahan spasi jejak / jejak tambahan, tetapi baris baru trailing diizinkan. Seharusnya tidak ada pemisahan antara blok yang berdekatan secara vertikal atau horizontal.
Perhatikan bahwa Anda tidak harus melakukan perlakuan khusus apa pun untuk blok yang memetakan "pelana"; hanya menggambar blok dengan ID yang diberikan apa adanya.
Outputnya mungkin untuk setiap wastafel yang diinginkan (stdout, nilai pengembalian, dll.)
Contohnya
Semua contoh di bawah ini menggunakan ID blok berbasis 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
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
.............|.......
............/........
.....................
.........../.........
........./...........
.....................
......../../\........
....../../....\......
...............---...
...../../.........\..
.....\/............|.
...................|.
...................|.
....................\
.....................
.....................
Mencetak gol
Ini adalah kode golf; kode terpendek dalam byte menang. Celah standar berlaku.