モジュール詳細:形と爆弾
今日はどんな形を入力しようかな?
- 押すことで点灯/消灯できるボタンのセットがある。
- 点灯した正方形はある色が付いており、英字を形成している。
- この情報を用いて、以下のステップを基にどの形を送信すべきが特定する。
英字の値(表1)
A |
B |
D |
E |
G |
I |
K |
L |
N |
O |
P |
S |
T |
X |
Y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
シーケンス番号表(表2)
黄 | 緑 | シアン | 青 | 紫 |
モジュール上の英字の値 |
現在のモジュールの個数 |
点灯した正方形の総数 |
消灯した正方形の総数 |
0を使用する |
- この表を使用する際、初期値、つまり以下のステップを適用する前の値を保持する必要がある。
- 値が15以上の場合、15を減算する。
英字表(表3)
黄 |
|
緑 |
|
シアン |
|
青 |
|
紫 |
K |
E |
P |
K |
I |
N |
O |
N |
S |
A |
B |
D |
Y |
X |
T |
T |
A |
L |
G |
S |
L |
L |
Y |
P |
E |
G |
I |
S |
P |
O |
I |
N |
G |
E |
D |
Y |
K |
I |
D |
K |
L |
N |
N |
L |
K |
D |
O |
B |
O |
P |
X |
T |
X |
B |
O |
P |
S |
I |
G |
E |
Y |
X |
S |
T |
A |
B |
A |
E |
G |
T |
X |
Y |
D |
B |
A |
正方形の色が白の場合、これらのステップを無視しステップ3に進む。
ステップ1(分析担当者)
- 正方形の色に基づいて表3の対応する表を使用する。
-
その後、以下のステップを行う。
- モジュールの初期英字の位置から開始する。
-
表2から得た数字から、モジュールの矢印シーケンスに従う。
- 矢印が指す方向に進む。表の外に出る場合、反対側へループする。
- このステップをモジュール上の矢印シーケンスが0に戻るまで繰り返す。
- 以上のステップを終えたら、到達した英字の値(表1)が、矢印シーケンスを開始するべき位置となる。
ステップ2(処理担当者)
-
矢印シーケンスを開始するべき位置が特定できたら……
- 初期値(表2)に1を加えた正方形から開始する。正方形は左上を1として開始し左から右へ、その後上から下へ読む。
値が40を超える場合、それは40とする。
-
矢印シーケンスにおいて、ステップ1の最終的な値から開始する。
- 各矢印に従った後、到達した正方形を点灯/消灯させる。
- 矢印に従う前に現在の正方形が消灯している場合、矢印の反対方向へ進む。
例:右下は左上になる
- これらのステップを矢印シーケンスが0に戻るまで繰り返す。
- 以上のステップをすべて終えたら、ステップ3に進める。
- 矢印の下の数字を押すと、次の数字に進める。
- 「Reset」ボタンは初期英字の状態に戻す。
- 「Empty」を押すと、点灯した正方形をすべて消灯させる。
ステップ3(形)
- シリアルナンバーの最後の数字が偶数の場合、点灯した正方形の個数を数える。そうでない場合、消灯した正方形の個数を数える。
- モジュールの初期英字の値(表1)が偶数の場合、上半分の範囲のみ数える。そうでない場合、下半分の範囲のみ数える。
- 次に、対応する表を参照しどの形が数字に一致するか探す。
- その数字が5未満の場合、5とする。そうでない場合、数字が14より大きい場合、14とする。
- 注意: の正方形は消灯を示し、の正方形は点灯を示している。
- 形が決まったら、その形をモジュールで作り、「Submit」ボタンを押す。