Google DevQuiz 2011 解答例「スライドパズル」編

前回の「一人ゲーム」編に続き、今回のDevQuizの最難関であり、先週末の日本の消費電力量を数パーセント上げたと言われる(?)「スライドパズル」の解答を公開します。

「スライドパズル」のルールは、

  • 幅3~6、高さ3~6マスのボードが与えられる
  • ボードの各マスは、パネル、壁、空白のいずれか
  • パネルは1-9およびA-Z、壁は=、空白は0で示される
  • 空白は上下左右のパネルと入れ替えられるが、壁とは入れ替えられない
  • 空白を上下左右のパネルと入れ替えることをそれぞれ”U”,”D”,”L”,”R”で示す
  • 与えられた初期配置をゴール配置まで導く解を”U”,”D”,”L”,”R”の文字列で解答する
  • ゴール配置は、左上から右下に向かって1→Zのパネルが順番に並び、右下隅が0となる
  • 問題数は5000問で、一問解く毎に0.01点が与えられる
  • 解答に使える”U”,”D”,”L”,”R”それぞれの総数には上限がある

というものです。つまり、様々なサイズの15パズルに”壁”というルールを加えたもの。
Continue reading →

Google DevQuiz 2011 解答例「一人ゲーム」編

IT業界人、特にプログラマーにとっては恒例のイベントとなりつつある、GoogleのDevQuiz。9月12日の午前10時で解答の送信が締め切られ、有志による解答例の公開(いわゆる”晒し”)が始まっています。

ということで、私も自分の解答を”晒し”てみることにします。まずは、分野別クイズの「一人ゲーム」から。
Continue reading →