0820 - StringGuessing

時間制限 1 秒 / メモリ制限 64 MB / 得点 100 / Writer MOMONtypus / x 5 / 統計 /

    タグ:

TLE
1sec
MLE
64MB
得点
100

問題

あなたは屋台の的あてゲームで遊ぼうと思っています。
このゲームはa~zまでのアルファベットが書かれたパネルにボールを投げて、当たった順番に文字をつなげて文字列を作ります。
一度当てたパネルは倒れるので、1ゲーム中では二度当てることはできません。
その後、もしその文字列がとある文字列$S$と一致していれば景品がもらえます。
ただ、この屋台の主人は意地悪なので、あらかじめ$S$の長さしか教えてくれません。
ゲームが終わった後、主人はいずれかの対応をとります。

①「作った文字列より$S$のほうが辞書順で小さい」という。
②「作った文字列より$S$のほうが辞書順で大きい」という。
③「作った文字列と$S$は一致する」といい、景品を渡す。

的あてに自信のあるあなたは必ず狙ったパネルにボールを当てることができます。
一回のゲームは100円ですが、あなたの財布には9000円が入っていますので、最大90回遊べます。
文字列$S$を無事特定し、景品を当てることはできるでしょうか?

制約

文字列$S$はアルファベットの子文字で構成されている
$1≦|S|≦26$($|S|$は文字列$S$の大きさ)
$i≠j$ならば$S_i≠S_j$($S_i$は文字列$S$の$i$文字目)

入出力

この問題はリアクティブな問題です。まず標準入力から一つの整数$|S|$を受け取ってください。
その後、文字列を一つ出力してください。ただし、以下の条件を満たしていなければなりません。

・26文字以下のアルファベットの小文字で構成されている。
・すべてのアルファベットは文字列中に0回か1回しか使われない。
もし以上の条件が満たされない場合、「不正解1」と判定されます。

それに応じて、もし辞書順で$S$のほうが小さい場合は

less
辞書順で$S$のほうが大きい場合は
greater
と入力で与えられます。
もし$S$と一致する文字列を出力した場合、プログラムは
equal
と出力するので、すぐにプログラムを正常終了させてください。
もし所持金をすべて使いきっても$S$と一致する文字列を出力できなかった場合、「不正解2」と判定されます。

部分点

この問題には部分点が設定されています。
あなたは友人から4000円を借りることで合計で130回ゲームを遊ぶこともできます。ただ、その場合友達がかわいそうなので、この問題では10点しか与えません。

入出力例

21:48 lessとgreaterが逆になっているのを訂正しました。
S="cat"の時の例です。
出力|入力
    |3
a   |greater
b   |greater
c   |greater
d   |less
ca  |greater
cb  |less
cab |greater
can |greater
cat |equal

標準出力は一行ごとにフラッシュしてください。