Pertimbangkan standar teka-teki silang 15x15 berikut.
Kita dapat mewakili ini dalam seni ASCII dengan menggunakan #
untuk blok dan (spasi) untuk kotak putih.
# #
# #
#
# #
### ## ##
## #
# #
# ##
## ## ###
# #
#
# #
# #
Diberi kisi silang dalam format seni ASCII di atas, tentukan berapa banyak kata yang dipegangnya. (Kisi-kisi di atas memiliki 78 kata. Itu adalah teka-teki New York Times Senin lalu .)
Kata adalah sekelompok dua atau lebih ruang berturut-turut yang berjalan secara vertikal atau horizontal. Sebuah kata dimulai dan diakhiri dengan salah satu blok atau tepi kisi dan selalu berjalan dari atas ke bawah atau kiri ke kanan, tidak pernah diagonal atau mundur. Perhatikan bahwa kata-kata dapat menjangkau seluruh lebar puzzle, seperti pada baris keenam dari puzzle di atas. Sebuah kata tidak harus terhubung dengan kata lain.
Detail
- Input akan selalu berupa kotak yang berisi karakter
#
atau(spasi), dengan baris yang dipisahkan oleh baris baru (
\n
). Anda dapat mengasumsikan bahwa kisi tersebut terbuat dari 2 karakter ASCII yang dapat dicetak dan bukan#
dan.
- Anda dapat mengasumsikan ada baris tambahan opsional. Karakter spasi tambahan tidak dihitung, karena memengaruhi jumlah kata.
- Grid tidak akan selalu simetris, dan mungkin semua spasi atau semua blok.
- Program Anda secara teoritis harus dapat bekerja pada kisi-kisi ukuran apa pun, tetapi untuk tantangan ini tidak akan pernah lebih besar dari 21 × 21.
- Anda dapat menggunakan kisi itu sendiri sebagai input atau nama file yang berisi kisi.
- Ambil input dari stdin atau argumen baris perintah dan output ke stdout.
- Jika Anda lebih suka, Anda dapat menggunakan fungsi bernama daripada program, mengambil grid sebagai argumen string dan menghasilkan integer atau string melalui stdout atau fungsi kembali.
Uji kasus
Memasukkan:
# # #
Keluaran:
7
(Ada empat ruang sebelum masing-masing#
. Hasilnya akan sama jika setiap tanda nomor dihapus, tetapi Markdown menghapus spasi dari garis yang kosong.)Memasukkan:
## # ##
Output:
0
(Kata-kata satu huruf tidak masuk hitungan.)Memasukkan:
###### # # #### # ## # # ## # #### #
Keluaran:
4
Input: ( Teka-teki Minggu NY Times 10 Mei )
# ## # # # # # # # ### ## # # ## # # # ## # ## # ## # # ### ## # ## ## # ## ### # # ## # ## # ## # # # ## # # ## ### # # # # # # # ## #
Keluaran:
140
Mencetak gol
Kode terpendek dalam byte menang. Tiebreaker adalah posting tertua.