4
「半分空のグラス」のようなものはありません
グラスが半分いっぱいなのか半分空っぽなのかという修辞的な質問を知っているでしょう。私はこのフレーズに少しうんざりしているので、プログラムでガラスの膨らみや空さに関するこの混乱を解消する時が来たと判断しました。 あなたの仕事は、ASCIIいガラスの ASCIIアート表現を取り、対応する素敵なガラスの ASCIIアートを出力するプログラムを書くことです。それはまた、ガラスであるかどうかを決定しなければならないfull、mostly full、mostly emptyまたはempty出力これも(任意4定数、異なる出力値が何を)。 TL; DR 入力は、グラスの内側と外側にランダムに分布するグラス(#キャラクター)と液体(a-z)のASCIIアートです。ガラス内の液体は落下して底に溜まり、ガラス外の液体は廃棄されます。液体が底に落ち着いた後、グラスのASCIIアートを出力します。ガラスがどれだけいっぱいかを判断し、それも出力します。 glyい素敵なメガネ ガラス一般的には、で作られた容器であり、#底部、両側壁なし上部と文字。 有効なメガネには穴がありません。(すべての#キャラクターを接続する必要があります。) #入力ASCIIアートの各行に少なくとも2つの文字があるか、ないかのいずれかです。正確に1つの行はありません#。 入力ASCIIアートの一番上の行には、常に2があり#ます。 有効なメガネには、#キャラクターの境界壁に1つのローカルミニマムがあります。これは、液体がどこかに閉じ込められないことを意味します。 ガラスの境界壁には局所的な最大値はありません。 #ガラスの底の下には何もありません。 ガラスの内部は常に接続されたスペースです。 入力に先頭/末尾の空白と改行が含まれる場合があります。 有効なメガネと無効なメガネの例: VALID (possible input to your program): # # # # #### # # # # # # # # # # # # ## # # # # ### # …