スライドパズル
幅が 3 マスから 6 マスで、高さが 3 マスから 6 マスのボードが与えられます。 各マスは、パネルが置かれているか、壁があるか、空白であるかのいずれかです。 パネルには 1 から 9 あるいは A から Z のいずれかの文字が書かれており、同じ文字の書かれたパネルは存在しません。 壁は 0 個以上存在し、空白のマスはただ 1 つだけ存在します。 例えば、次のようなボードが与えられます。ここで、壁は = で、空白は 0 で表されています。
40=
215
=86
空白は、上下左右のマスのパネルと入れ替えることができます。上のマスのパネルと入れ替えることを U とよび、同様に、下左右のマスのパネルと入れ替えることをそれぞれ D, L, R とよぶものとします。壁を空白やパネルと入れ替えることはできません。
パズルを解くというのは、与えられたボードの各マスを操作して、ゴール状態に持っていくことです。
ゴール状態とは、上の行から各行順番に、左から右に 1, 2, 3, 4, ..., 9, A, ..., Z という順にパネルが並び、最も右下のマスに空白が配置された状態のことです。壁のあるマスに対応するパネルは存在しません。例えば、左上のマスが壁であれば、ボード上に 1 のパネルは存在しません。
例えば、上で与えられたボードのパズルを解くと以下のようになります。
4 0 = 1 2 =
2 1 5 -> 4 5 6
= 8 6 = 8 0
いま、使うことができる L, R, U, D それぞれの総数があたえられます。 この総数は全パズルで共有されています。 例えばあるパズルを解くために L を使い切ってしまった場合、 他のパズルでは L を使うことはできません。 この総数を超えないようにしながら、なるべくたくさんのパズルを解いてください。
得点
パズルをひとつ解くごとに 0.01 点が加算されます。全問解くと 50 点になります。 あるパズルが不正解だった場合、またはスキップした場合は、そのパズルに関する得点は加算されません。L, R, U, D いずれか一つでも使うことができる総数を超えていた場合は、各パズルの正解不正解にかかわらず 0 点となります。
入力と解答
入力フォーマット
LX RX UX DX
N
w1,h1,b1
w2,h2,b2
...
wN,hN,bN
LX, RX, UX, DX: 使うことができる L, R, U, D それぞれの総数
N: 総ボード数 (整数)
wi: ボードの幅 [3-6]
hi: ボードの高さ [3-6]
bi: ボード初期状態 [0-9A-Z=] からなる文字列
ボードは
0: 空白
=: 壁
1-9 A-Z: それぞれのパネル。
ボードは行を上から下の順に一列に並べた文字列として与えられます。すなわち、
40=
215
=86
は、文字列 40=215=86 として与えられます。
ゴールは左上隅が 1。空白は右下隅。壁になっているところに対応するパネルは存在しません。
ゴール例:
1234
5678
9ABC
DEF0
123=
5=78
9=BC
DEF0
こちら から入力データをダウンロードできます
解答フォーマット
各行はそれぞれの問題に対応する LRUD の列。
解答例:
URRD
DDRRRRULLULLDDDRRRR
RRUULLD
- 特定の問題の解答を飛ばしたい場合は、対応する行に空行を出力してください。
Google 번역
'Android > myself' 카테고리의 다른 글
| GDD 2011 Japan 도전 퀴즈 (0) | 2011/08/29 |
|---|---|
| GDD 2011 Japan 분야별 퀴즈 - 一人ゲーム (0) | 2011/08/29 |
| GDD 2011 Japan 분야별 퀴즈 - Apps Script (0) | 2011/08/29 |
| GDD 2011 Japan 분야별 퀴즈 - Android (0) | 2011/08/29 |
| GDD 2011 Japan 분야별 퀴즈 - GO! (0) | 2011/08/29 |
| GDD 2011 Japan 분야별 퀴즈 - Web Game (0) | 2011/08/29 |
TAG GDD 2011 JAPAN