09/05/30 02:22:17
ヒントだけ言うと用意するクラスは
頂点、ルート、ルートの集合の3つ。
それぞれのクラスに用意したメソッドは
頂点
{
その頂点に隣接する頂点の集合を返す関数
その頂点が4x4のマスの中にあるかどうかを返す関数
}
ルート
{
自分自身から一つ頂点を増やしたルートの集合を返す関数
同じ頂点を2度、通ってないかを返す関数
ゴールにたどり着いたかを返す関数
}
ルートの集合
{
自分が持っているそれぞれのルートに対して一つ頂点を増やしたルートを集めたルートの集合を返す関数
}
後は自分でアルゴリズムを組み立てて見れ。