Terinspirasi oleh game kecil ini .
Tantangan
Diberikan sebagai input posisi awal kisi (selalu 5x5), seperti ini:
-ABCD
-A---
---C-
---BD
--E-E
Anda perlu menghubungkan huruf-huruf (semua huruf yang sama), menghapus semua -
ruang kosong . Surat-surat itu akan selalu A,B,C,D and E
.
Setiap pasangan huruf harus dihubungkan oleh satu baris tidak bercabang yang dapat menekuk pada sudut kanan (menggunakan huruf yang sama untuk menggambarkan garis).
Input dijamin memiliki masing-masing huruf awal tepat 2 kali dan itu akan selalu memiliki semua huruf awal AE.
Input dapat dibaca dari stdin, atau satu-satunya string sebagai arg ke beberapa fungsi, atau bahkan array / matriz / daftar karakter, cara paling mudah untuk bahasa pengkodean Anda.
Karena ini adalah kode terpendek golf- kode dalam byte menang!
Contoh
Tidak hanya ada satu solusi untuk setiap masalah, tetapi aturan berlaku untuk semua (tidak ada ruang kosong dan tidak ada huruf yang terpisah). Dan input dijamin memiliki setidaknya satu output yang benar.
Mari kita mulai menghubungkan huruf A:
AABCD
AA---
AA-C-
AA-BD
AAE-E
Sekarang, menghubungkan huruf B:
AABCD
AAB--
AABC-
AABBD
AAE-E
Sekarang, menghubungkan huruf C:
AABCD
AABC-
AABC-
AABBD
AAE-E
Sekarang, menghubungkan huruf D:
AABCD
AABCD
AABCD
AABBD
AAE-E
Dan, akhirnya huruf E:
AABCD
AABCD
AABCD
AABBD
AAEEE
Sampel lain
input:
E--E-
BB-C-
AD---
---C-
AD---
output:
EEEEE
BBECE
ADECE
ADECE
ADEEE
input:
A----
---B-
-C-C-
-D-D-
BE-EA
output:
AAAAA
BBBBA
BCCCA
BDDDA
BEEEA
A-E
?Jawaban:
Perl,
130128127 byteTermasuk +4 untuk
-n0
(program tidak bekerja dari commandline jadi-
dan spasi dihitung juga)Panggil dengan input di STDIN:
Teminasi dengan
^D
atau^Z
apa pun yang menutup STDIN pada sistem Andaconnectletters.pl
:sumber