Latar Belakang
Boggle adalah permainan papan di mana para pemain harus menemukan kata-kata bahasa Inggris pada papan 4-oleh-4 huruf acak. Kata-kata dapat dibangun dengan memilih sel-sel yang berdekatan secara berurutan di papan tulis. ("berdekatan" berarti berdekatan secara horizontal, vertikal atau diagonal.) Juga, sel yang sama tidak dapat digunakan lebih dari sekali dalam satu kata.
Berikut ini adalah contoh papan:
I L A W
B N G E
I U A O
A S R L
Di papan ini BINGO
,, ORANGE
dan WEARS
merupakan kata yang valid, tetapi SURGE
dan RUSSIA
tidak:
SURGE
: Tidak ada pasangan yang berdekatan di papan memilikiRG
.RUSSIA
:S
tidak dapat digunakan dua kali.
Boggle yang Dimodifikasi adalah versi Boggle yang dimodifikasi, dengan aturan berikut:
- Ukuran board
n
-by-n
, di manan
bisa bilangan bulat positif. - Setiap sel dapat berisi satu byte antara 0 dan 255 inklusif.
- Sel dapat digunakan lebih dari sekali, tetapi tidak dua kali berturut-turut .
Menggunakan contoh papan di atas, sebagai tambahan BINGO
, ORANGE
dan WEARS
, LANGUAGE
menjadi string yang valid (karena G
digunakan dua kali, tetapi tidak dua kali berturut-turut) tetapi RUSSIA
masih tidak (karena SS
berpasangan).
Berikut adalah contoh lain menggunakan fragmen kode. String from itertools import*\n
dapat ditemukan di papan berikut, tetapi tidak from itertoosl import*
atau from itertools import *
:
f i ' ' s
r t m l
e o o p
\n * t r
Perhatikan bahwa Anda perlu dua o
untuk mencocokkan oo
urutan.
Tantangan
Tulis fungsi atau program yang, diberi papan Modifikasi Boggle B
(dari berbagai ukuran) dan string s
, menentukan apakah s
dapat ditemukan B
.
Batasan
Kode Anda sendiri juga harus sesuai pada papan Modifikasi Boggle b
. Artinya, Anda harus menunjukkan papan b
di kiriman Anda bersama dengan kode Anda, sehingga fungsi / program Anda menghasilkan true jika diberikan b
dan kode Anda sebagai input.
Mencetak gol
Nilai kiriman Anda adalah panjang sisi papan terkecil di b
mana Anda dapat memasukkan kode Anda. Ikatan rusak oleh aturan kode-golf yang biasa , yaitu panjang kode Anda dalam byte. Pengajuan dengan skor terendah (untuk kedua kriteria) menang.
Misalnya, from itertools import*\n
memiliki skor 4 (menggunakan papan di atas) dan panjang kode 23 byte.
Masukan dan keluaran
Untuk input, Anda dapat mengambil metode praktis apa pun untuk keduanya B
dan s
. Ini termasuk daftar karakter dan daftar kode, 2D atau diratakan atau apa pun yang masuk akal. Selain itu, Anda dapat memilih ukuran papan sebagai bagian dari input.
Untuk hasil, Anda dapat memilih salah satu dari yang berikut:
- Nilai-nilai yang benar dan salah mengikuti konvensi bahasa Anda, atau
- Satu nilai yang telah ditentukan untuk benar dan salah masing-masing.
Silakan tentukan metode input / output Anda dalam kiriman Anda.
+=+=
atau sesuatu seperti itu. Masalahnya adalah ==
fungsi output ...