Ini adalah utas Polisi. Utas perampok ada di sini .
Latar Belakang
Boggle adalah permainan papan di mana para pemain harus menemukan kata-kata bahasa Inggris di 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 sebuah 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.
Modifikasi Boggle adalah versi modifikasi Boggle, dengan aturan berikut:
- Ukuran papan adalah
m
-dengan-n
, di manam
dann
dapat berupa 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 polisi
Tulis program lengkap dalam bahasa pilihan Anda yang memenuhi aturan berikut:
- Program harus mencetak sesuatu yang konsisten selama beberapa kali proses.
- Program harus selesai dalam waktu sekitar 5 detik.
- Program tidak boleh mengambil input apa pun.
- Baik program dan outputnya harus minimal 2 byte.
- Apa pun yang terkait dengan fungsi hash, PRNG, atau kriptografi tidak diizinkan.
Kemudian, susun program dan hasil Anda menjadi dua papan boggle yang dimodifikasi . Setiap papan bisa berupa kotak. Perhatikan bahwa papan 1-by-N dan 2-by-N dapat menimbulkan tantangan khusus bagi polisi dan perampok. Jika Anda ingin beberapa sel di papan tidak dapat digunakan (untuk menambah lebih banyak pembatasan), Anda dapat memilih beberapa byte yang tidak berguna dan mengisi lubang dengannya.
Misalnya, jika Anda menginginkan kisi 2x2 dengan gerakan horizontal / vertikal saja, Anda dapat melakukan ini sebagai gantinya:
a b
c d
-----------
X a X
c X b
X d X
Dalam kiriman Anda, tentukan bahasa yang Anda gunakan, panjang kode sumber dan output, dan dua papan boggle. Perhatikan bahwa kode yang lebih pendek dan / atau keluaran yang lebih panjang diperbolehkan untuk perampok , sehingga Anda dapat memilih untuk memberikan ruang untuk jumlah byte (yaitu tentukan kode yang lebih panjang dan / atau keluaran yang lebih pendek dari solusi Anda yang sebenarnya).
Jika papan Anda mengandung beberapa karakter yang tidak dapat dicetak, Anda dapat menentukan papan sebagai nilai byte.
Setelah seminggu seorang polisi diposting, itu dapat ditandai dengan aman oleh poster jika tidak retak sampai saat itu. Polisi masih terbuka untuk perampok sampai benar-benar ditandai aman. Polisi yang aman tidak dapat dipecahkan, dan poster harus mengungkapkan solusi yang dimaksud.
Anda harus mengaburkan papan sebanyak mungkin, karena tantangan perampok adalah untuk memecahkan kiriman Anda dengan menemukan kode dan hasilnya di papan. Jika Anda ingin menjejalkan kode panjang ke papan kecil, jawaban untuk tantangan Modifikasi Boggle asli dapat memberikan beberapa wawasan.
Mencetak angka untuk polisi
Karena sulit untuk mengatakan apakah papan yang lebih besar atau lebih kecil lebih sulit untuk ditembus, setiap pengiriman polisi yang aman dihitung sebagai skor 1. Pengguna dengan skor tertinggi menang. Disarankan untuk berpartisipasi dengan berbagai bahasa dan pendekatan kreatif.
Contoh cop & format
# Japt, code 9 bytes, output 20 bytes
Code board: 2 rows, 2 columns
`l
íÏ
As byte values:
96 108
237 207
Output board: 3 rows, 3 columns
175
120
643
Skrip verifikasi Kericuhan yang dimodifikasi
Semua skrip di bawah ini memiliki input contoh dengan itu.
Script untuk string karakter (kode / output) & boggle. Ini tidak mendukung string multi-line. Format input adalah
- satu baris string (baik kode atau output), diikuti oleh
- papan boggle mentah.
Script untuk string karakter dengan boggle nilai-byte. Gunakan ini jika string target dapat dicetak tetapi memiliki satu atau lebih baris baru di dalamnya. Format input adalah
- jumlah garis untuk string,
- string mentah (mungkin multi-line), lalu
- papan boggle sebagai nilai byte.
Skrip untuk byte-value string & boggle. Gunakan ini jika string target berisi satu atau lebih karakter yang tidak dapat dicetak. Format input adalah
- satu baris string (baik kode atau output) sebagai nilai byte, diikuti oleh
- papan boggle sebagai nilai byte.
[]+.
, tapi saya pikir itu mungkin tidak mungkin. Adakah yang mau mencoba?