Mari kita sebut daftar string yang tidak kosong sebagai mesa jika kondisi berikut ini berlaku:
- Setiap string yang terdaftar tidak kosong dan hanya menggunakan karakter yang muncul di string pertama.
- Setiap string berturut-turut persis satu karakter lebih panjang dari string sebelumnya.
- Tidak ada string dalam daftar adalah subsequence dari string lain dalam daftar.
Istilah "mesa" berasal dari memvisualisasikan seperti ini (di mana xkarakter harus beragam):
xx..x
xx..xx
xx..xxx
.
.
.
xx..xxx..x
NB: Ini adalah fakta matematis bahwa hanya sedikit mesa yang dimulai dengan string tertentu. Perhatikan perbedaan antara berikutnya vs substring ; misalnya, 'anna' adalah urutan (tetapi bukan substring) dari 'pisang'.
Tantangan:
- Tulis program terpendek yang menggunakan string input alfanumerik non-kosong sembarang dan menghasilkan jumlah mesa yang dimulai dengan string itu.
Input (stdin):
- String alfanumerik yang tidak kosong.
Output (stdout):
- Jumlah mesa yang dimulai dengan string input.
Mencetak:
- Pemenangnya adalah program dengan jumlah byte terkecil.
Contoh mesa
Hanya satu mesa yang dimulai dengan a:
a
Hanya satu mesa yang dimulai dengan aa:
aa
Banyak mesa dimulai dengan ab:
ab ab ab ab (and so on)
baa aaa bbb
bbba bbaa
baaaa
aaaaaa
ab, ab/baa, ab/bbb, ab/bbb/bbaa, ab/bbb/bbaa/baaaa, ab/bbb/bbaa/baaaa/aaaaaayang mesa berbeda.
ab,bbbsebagai seorang mesa hanya dengan berhenti pada semester kedua. Apakah itu valid? Atau apakah harus selalu dibuat selama mungkin? Juga, jika ada beberapa kemungkinan penyusunan ulang darinthistilah (sepertibaa,aba,aab), apakah mereka juga dihitung sebagai mesa terpisah juga (menyediakan tentu saja mereka semua mengikuti aturan)?