プログラミング競技について

問題文

複数の「マインスイーパー」の盤面データが与えられます。各盤面データについて地雷がありそうなセルを予測しながら、地雷以外の全部のセルを選択することを目指します。以下の「ルール」に従って、可能な限り多くのセルを選択し、高いスコアを目指して下さい。

サンプル盤面

「マインスイーパー」の遊び方イメージを以下のサイトで体感することができます。今回のコンテストの出題形式に似せて事務局で作成したもので、盤面の様子や進行方法などはオリジナルとは異なっています。スマートフォンからもアクセスできます。

操作方法

  1. 「ボード選択」 からボードを選びます。サンプルボードをいくつかご用意しています。盤面のテキストファイルを作成すればファイルから読み込むことも可能です。
  2. 「盤面データ表示切替」 をトグルすると盤面データの参照ができます。
  3. 盤面データには「0」から「9」までの数字が含まれています。「0」から「8」までの「数字」は 隣接する8個のセルに含まれる地雷の数 を表します。地雷が周囲に存在しない場合、盤面データは空白ではなく「0」となってます。
  4. 盤面データ「9」が含まれるセルは 地雷が置かれた状態 を示します。周囲の地雷の数ではありません。
  5. 盤面のセル座標 (X,Y) は横方向 X、縦方向 Y で、左上が (0,0)、右下に向かって座標が1つずつ増えます。
  6. セルをひとつずつ選択していきます。地雷以外の 未選択セル がなくなれば終了です。スコアが表示されます。
  7. 盤面データ「0」のセルを選択した場合は、周囲に地雷は存在しないため、地雷に近くなるまで再帰的に周囲のセルが選択されます。
  8. 地雷を除く未選択のセル数が 「残りセル数」 に表示されます。
  9. 地雷がありそうな場所に 旗を立てて 選択できないようにすることができます。「旗を立てる」 を ON にしてから当該セルを選択します。旗を解除するには再度「旗を立てる」を ON にして当該セルを選択します。旗が無くなればセル選択が可能になります。
  10. 旗が立っているセルは選択できなくなりますが、周囲に「0」のセルがある場合は再帰的に選択されて旗が消えることがあります。
  11. 途中で終了したい場合、一番下にある 「ここで採点」 をクリックすればスコアが表示されて終了となります。

ルール・得点

プログラムの入力

6 4 board_name     <-- 左から Xサイズ(横)、Yサイズ(縦)、盤面の名前がスペースで区切られています
011100             <-- X個の盤面データ、これは1行目
019100             <-- X個の盤面データ、これは2行目
011211             <-- X個の盤面データ、これは3行目
000191             <-- X個の盤面データ、これは4行目、Y 行目でこの盤面データは終了
                   <-- 空行を挟みます
4 4 board2         <-- 次の盤面データ、この要領で複数の盤面データを連続して記述
0111
1291
1921
1110

プログラムの出力

スコアのカウント方法

プログラム実行結果の提出について

paize.IO の使い方

言語を選ぶ

言語選択画面例

プログラムの実行

実行画面例 ファイル入力画面例

プログラムの実行時間

実行時間表示画面例

セッション ID について

セッションID表示画面例 セッションID削除画面例

問い合わせ先

サイトがうまく動作しない、データが足りない、などお困りの場合やその他ご不明点等がございましたらお気軽に das”at”sig-sldm.org より、ADC 事務局あてご連絡をいただければと思います。(”at”は@に変換してください)。事務局メンバーより返信させていただきます。どうぞよろしくお願いいたします。