PuzzleAndGame.com

ゾンビのダンジョン

※ バグを見つけたら、お気軽にご連絡ください(メール/Twitter

ゾンビのダンジョン

● ゾンビのダンジョン - LEVEL
LEVEL

 あなたはプログラミングが得意な冒険者です。あなたは王国軍と共に、「ゾンビのダンジョン」にたどり着きました。

 ゾンビは感染するため、このダンジョンに入った多くの人が、ゾンビ化しています。

 あなたの役目は、ゾンビの最大増加数を予測することです。その情報を元にして、国王が最悪の事態に備えながら軍を運用します。

 このダンジョンは、下の階に行くほどレベルが上がり、答えを導き出すのが難しくなります。あなたは、プログラミングが得意な冒険者として、コードを工夫して、見事予想を的中させてください。

(この問題はCodeIQが初出です。詳しくはページ末の初出と解説をご覧下さい)


● 問題の内容

 フィールドは、8マス(要素数8の一次元配列)で構成されています。

 マスが空の場合は「0」、人間がいる場合は「1」、ゾンビがいる場合は「2」の数字が入っています。

 フィールドには、新しいゾンビが1匹やって来ます。空マスがない場合は、ゾンビは何もせずに帰ります。空マスがある場合には、ゾンビは空マスのどこかに入ります。

 空マスに入ったゾンビは、両隣のマスの人間を、ゾンビにします。

ケースA)

ケースB)

ケースC)

 ゾンビは、どの空マスに入るか分かりません。あなたは最もゾンビが多くなる際のゾンビの数を求めるプログラムを書かなければなりません。

 上記の例では、ケースBが最大になり、求めるゾンビの数は「4」になります。以下、他の例です。変数「f」は与えられる配列、変数「r」は答えになります。


例1)f = [0, 0, 0, 0, 0, 0, 0, 0]; r = 1;
例2)f = [0, 2, 0, 2, 0, 0, 0, 2]; r = 4;
例3)f = [2, 2, 1, 0, 0, 1, 2, 2]; r = 6;
例4)f = [2, 0, 1, 0, 1, 1, 0, 2]; r = 5;
例5)f = [1, 1, 1, 1, 1, 1, 1, 1]; r = 0;

 本問題では、この問題の答えを表すコードを、入力欄に記載します。


● ヒント

 ヒントなしで解きたい方は、ヒントを表示しないで挑戦してください。下の方のヒントほど、より直接的なヒントになります。

レベル1用
 初期状態のゾンビの数を「z」とすれば、答えのゾンビの数は「z~z+3」の範囲に収まります。

レベル1用
「人、空、人」の配置がある場合は、ゾンビの数は「+3」されます。
上記を満たさず、「人、空、人以外」あるいは「人以外、空、人」の配置がある場合は、ゾンビの数は「+2」されます。
上記を満たさず、「人以外、空、人以外」の配置がある場合は、ゾンビの数は「+1」されます。
それ以外は、ゾンビの数は増えません。

レベル2用
 条件分岐の最も簡単な代替物は、ある条件の時に「0」や「1」になる計算式を作ることです。「0」を「偽」、「1」を「真」としてかけ算を行なえば、分岐の代わりになります。

● 解答方法

「禁止文字を使わず」「指定の文字数内に収まる」ように、以下の入力欄(下記コードのの部分)を埋めてください。改行は1文字として数えます。

※ 初出時のレギュレーション:解答の確認は、出題時点で最新の「Google Chrome」としていました。


● 問題
◆ 条件
レベル切り替え: 問題トップ
◆ 問題生成コードと生成データ
◆ 解答入力コード
◆ 出力


● 初出と解説

 本問題の初出はCodeIQになります。その問題を、転載の許可を取って、本サイトに掲載しています。

 「CodeIQ」は、ITエンジニア向け実務スキル評価サービスです。転職サイトの一種ですが、現在転職の希望がなくても利用できます。ここでは楽しいプログラミングの問題が、多数出題されています。かく言う私も、様々な変わった問題を出しています。おすすめです。

CodeIQ(本家サイト、多数の問題が出題)、CodeIQ JOBS(転職情報がまとまっているページ)

 本問題の解説記事は、以下から読めます。

 各レベルの最短文字数は、以下の通りです。(特殊な値の取り方をしたコードは省いています)

レベル 平均 最短
1 151.23文字 64文字
2 103.76文字 68文字

● 素材

 本問題の画像は、パブリックドメインの画像と、以下のページの素材を利用しています。

関連書籍


情報

開発&著作権者 : 柳井 政和

Web Site : http://puzzleandgame.com/

App Page :

Twitter : ruten


Last Update : 2015-08-23

Release : 2015-08-23

First Appearance : 2015-02-03 CodeIQ

Copyright 2015 Masakazu Yanai.

QR コード