次の条件が当てはまる場合、文字列の空でないリストをメサと呼びましょう。
- リストされた各文字列は空ではなく、最初の文字列に出現する文字のみを使用します。
- 連続する各文字列は、前の文字列よりも正確に1文字長くなります。
- リスト内の文字列は、リスト内の他の文字列のサブシーケンスではありません。
「メサ」という用語は、次のような視覚化からのものです(xsはさまざまなキャラクターになります)。
xx..x
xx..xx
xx..xxx
.
.
.
xx..xxx..x
NB:有限数のメサだけが特定の文字列で始まることは数学的な事実です。サブシーケンスと サブストリングの違いに注意してください。たとえば、「anna」は「banana」のサブシーケンス(サブストリングではない)です。
チャレンジ:
- 任意の空でない英数字入力文字列を受け取り、その文字列で始まるメサの数を出力する最短のプログラムを作成します。
入力(stdin):
- 空ではない英数字文字列。
出力(stdout):
- 入力文字列で始まるメサの数。
得点:
- 勝者は、バイト数が最も少ないプログラムです。
メサの例
で始まるメサは1つだけaです。
a
で始まるメサは1つだけaaです。
aa
多くのメサは以下で始まりabます:
ab ab ab ab (and so on)
baa aaa bbb
bbba bbaa
baaaa
aaaaaa
@mellamokb-何らかの方法で異なる場合、それらは異なるメサです。例えば、
—
解像度
ab、ab/baa、ab/bbb、ab/bbb/bbaa、ab/bbb/bbaa/baaaa、ab/bbb/bbaa/baaaa/aaaaaa異なるメサです。
@mellamokb-他の良い質問があります。たとえば、指定された文字列で始まる最大長のメサの数、およびその最大長は何ですか。これらの質問の他のバージョンは、指定されたサイズのアルファベットを修正し(アルファベットサイズが入力になります)、指定されたアルファベットの文字のみを使用するすべてのメサ(条件#1なしで再定義)を考慮します-ここでも有限数しかありません。
—
解像度
ab、bbbちょうど第二項に停止させることにより、メサとして。それは有効ですか?または、できる限り長く作らなければならないのですか?また、複数の可能な再配置がある場合ですnth(のような用語はbaa、aba、aab)彼らは(もちろん、彼らはすべてのルールに従うの提供)だけでなく、別のメサなど、すべてのカウントのですか?