以下のルールを使用して、ASCII印刷可能文字のみを含み、*
-string と呼ばれる別の文字列から単一の文字列をプルするとします。プロセスが停止する前に文字列がなくなった場合、それはエラーであり、その場合のプロセスの結果は未定義です。
- 皮切りに
d=1, s=""
- a
*
に出会うたびにd
、2を掛けます。別の文字に出会うたびに、それを最後に連結し、s
から1を引きd
ます。今ならd=0
、停止して戻るs
定義された例:
d->d
769->7
abcd56->a
*abcd56->ab
**abcd56->abcd
*7*690->769
***abcdefghij->abcdefgh
未定義の例:(空の文字列もこれらの1つになることに注意してください)
*7
**769
*7*
*a*b
*
あなたの仕事は、文字列を*
取得し、その文字列を生成する最短の文字列を返すことです。
プログラム例:
7->7
a->a
ab->*ab
abcd->**abcd
769->*7*69
プログラムは、少なくとも1文字と非*
ASCII印刷可能文字のみを含む文字列を処理する必要があります。定義上、どの文字列も生成できないため、プロセスが未定義の文字列を返すことはできません。
標準の抜け穴とI / Oルールが適用されます。
*
か?