Tujuan dari tantangan ini adalah untuk menentukan apakah koleksi potongan satu-dimensonal dapat dibentuk untuk membentuk potongan kontinu yang terbatas.
Sebuah karya adalah, urutan yang terbatas tidak kosong dari nol dan satu yang dimulai dan berakhir dengan satu a. Beberapa potongan yang mungkin adalah 1
, 101
, 1111
, 1100101
.
Ubin berarti mengatur potongan sehingga satu blok yang berdekatan terbentuk. Satu dari satu bagian dapat menempati tempat nol, tetapi bukan bagian satu, dari bagian lain.
Sama halnya, jika kita melihat satu sebagai "bahan padat" dan nol sebagai "lubang", potongan harus pas sehingga membentuk satu regangan, tanpa meninggalkan lubang.
Untuk membentuk ubin, potongan hanya dapat digeser sepanjang ruang satu dimensi mereka. (Mereka tidak dapat dibagi, atau tercermin). Setiap bagian digunakan tepat sekali.
Contohnya
Tiga buah 101
, 11
, 101
dapat ubin seperti yang ditunjukkan pada berikut, di mana masing-masing bagian diwakili dengan pergeseran yang diperlukan:
101
11
101
jadi ubin yang didapat adalah
111111
Sebagai contoh kedua, potongan 11011
dan 1001101
tidak bisa ubin. Secara khusus, pergeseran
11011
1001101
tidak valid karena ada dua yang bertabrakan; dan
11011
1001101
tidak valid karena hasilnya akan mengandung nol.
Aturan tambahan
The masukan adalah kumpulan dari satu atau lebih potongan. Format wajar apa pun diizinkan; sebagai contoh:
- Daftar string, di mana setiap string dapat berisi dua karakter yang berbeda dan konsisten;
- Beberapa array, di mana setiap array berisi posisi yang untuk sepotong;
- Daftar bilangan bulat (ganjil) seperti representasi biner dari setiap angka mendefinisikan suatu bagian.
The keluaran harus menjadi nilai truthy jika ubin adalah mungkin, dan nilai falsy sebaliknya. Nilai output tidak perlu konsisten; yaitu, mereka dapat berbeda untuk input yang berbeda.
Program atau fungsi diizinkan, dalam bahasa pemrograman apa pun . Celah standar dilarang.
Kode terpendek dalam byte menang.
Uji kasus
Setiap input berada pada jalur yang berbeda
Sejujurnya
1
111
1, 1
11, 111, 1111
101, 11, 1
101, 11, 101
10001, 11001, 10001
100001, 1001, 1011
10010001, 1001, 1001, 101
10110101, 11001, 100001, 1
110111, 100001, 11, 101
1001101, 110111, 1, 11, 1
Palsu
101
101, 11
1, 1001
1011, 1011
11011, 1001101
1001, 11011, 1000001
1001, 11011, 1000001, 10101
101101
akan menjadi kebenaran, meskipun tidak ada jumlah terbatas dari mereka menghasilkan blok yang berdekatan.