(Diilhami secara acak oleh https://codegolf.meta.stackexchange.com/a/17272/42963 )
Diberikan matriks persegi empat digit (yaitu, 0 - 9), output "potongan-potongan" dari matriks seolah-olah digit tersebut terhubung bersama-sama membentuk satu bagian, dalam urutan naik dengan digit. Potongan-potongan dijamin untuk terhubung hanya ortongonal - tidak ada bagian yang akan terhubung secara diagonal. Hanya akan pernah ada maksimum 10 buah (yaitu, 3sepotong tidak akan muncul dua kali dalam matriks yang sama).
Misalnya diberi matriks
0 1 1 1
0 0 1 2
3 3 2 2
berikut ini adalah potongan-potongan, dan contoh output:
0
0 0
1 1 1
1
2
2 2
3 3
Spasi penting untuk menjaga bentuk potongan, tetapi potongan tidak perlu jarak interior. Potongan-potongan itu sendiri entah bagaimana harus dibuat berbeda secara konsisten (misalnya, baris baru di antara potongan-potongan, memastikan masing-masing adalah karakter yang berbeda, dll.). Selain itu, spasi putih asing (misalnya, mengikuti baris baru atau kolom utama) tidak diperbolehkan. Misalnya, berikut ini juga akan valid:
0
00
111
1
2
22
33
atau
#
##
###
#
#
##
##
Tapi yang berikut ini tidak akan (perhatikan spasi tambahan di belakang huruf 0s):
0
0 0
Rotasi atau refleksi juga tidak diperbolehkan. Misalnya, keluaran
1
111
untuk matriks di atas juga tidak valid.
Potongan-potongan matriks mungkin memiliki lubang, atau hanya elemen tunggal:
0 0 0 1
0 2 0 1
0 0 0 3
Atau, potongannya mungkin seluruh matriks:
0 0 0
0 0 0
Ini kasus uji yang lebih besar dan lebih rumit:
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
Dan contoh output:
00
11111
22
222
2
3
444
44
55
5
5
6666
6 66
666
77
7
777
88
9
Aturan dan I / O
- Input dan output dapat diberikan dengan metode apa pun yang mudah .
- Anda dapat mencetaknya ke STDOUT atau mengembalikannya sebagai hasil fungsi.
- Program lengkap atau fungsi dapat diterima.
- Diperlukan spasi putih untuk menjaga bentuk (misalnya, bentuk "T"
1pada contoh) diperlukan, spasi putih yang konsisten untuk membuat potongan-potongan menjadi berbeda, dan satu baris baru di belakangnya dibolehkan, tetapi tidak ada spasi lain yang diizinkan. - Anda dapat dengan aman berasumsi bahwa potongan-potongan diberi nomor
0untukNcontiguously, yang berarti bahwa (misalnya)3tidak akan melewatkan dalam matriks enam-piece. - Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
0sebagai nilai pengisi? Jadi masing-masing bagian akan menjadi keluaran dengan sisa nilai-nilai dalam matriks diatur ke0
-1atau beberapa nilai lain alih-alih tidak ada / spasi tidak akan baik-baik saja.
' ') digunakan dalam kasus itu?
-1atau ruang yang mewakili ruang kosong, atau tidak adanya elemen jika memungkinkan)?