AOJ0121: 7パズル

7 パズル | Aizu Online Judge

蟻本初級の練習問題にあったので解いた。

解き方

  • 終了時点(綺麗に整列した状態)から幅優先探索を行い、各状態から終了状態までの最小回数を求める
    • 状態の個数はたかだか8!個程度なので、この前計算は十分間に合う
  • 各クエリについて、上記で求めた最小回数を表示

ハマったところ

  • 状態遷移をミス(右上←→左下の移動を禁止できていなかった)
  • 開始状態から幅優先探索しようとして、TLEを繰り返した

github.com