10
クロスワードの番号付け
クロスワードグリッドに正しく番号を付けるプログラムを作成します。 入力 入力は、クロスワードグリッドを表すファイルの名前になります。入力ファイル名は、引数として、標準入力で、またはハードコーディング以外の従来の方法で渡すことができます。 グリッドファイル形式:テキストファイル。1行目は、空白で区切られた2つの整数定数Mとで構成されていNます。その行に続くのは、M それぞれからN選択された文字(および新しい行)で構成される行[#A-Z ]です。これらの文字は'#' 、ブロックされた四角形、' '既知のコンテンツのないパズル内の開いた四角形、およびその文字を含む開いた四角形を示すように解釈されます。 出力 出力は番号付けファイルになり、標準出力、入力ファイル名から派生した名前のファイル、ユーザー指定のファイル、または他の従来の宛先に送信できます。 ナンバリングファイルフォーマットテキストファイル。「#」で始まる行は無視され、コメントに使用できます。他のすべての行はタブ区切りトリプレット含むi、m、数がグリッド上に印刷されるべきであり、そしてそれが印刷されるべきである正方形の行と列を表しています。行と列の両方の数は1から始まります。nimn 採番スキーマ 正しい番号のグリッドには、次のプロパティがあります。 番号は1から始まります。 開いている正方形の列またはスパンには番号が付けられていません。(問題には1文字の回答が存在しないと考えるかもしれません。) 番号は、各行を左から右に取って、上から下にスキャンすることにより、カウント順に発生します。(したがって、すべての水平スパンには左端の正方形から番号が付けられ、すべての列には一番上の正方形から番号が付けられます。) テスト入力と期待される出力 入力: 5 5 # ## # # # ## # 出力(コメント行を無視): 1 1 2 2 1 3 3 2 2 4 2 4 5 2 5 6 3 1 7 3 4 8 …