ScalaでProject Euler(122)

Problem 83

まずマスiからマスjへの遷移確率を求めます。(これが難しいのですが。Pythonなら書きやすいのに)
その遷移確率行列Aは各マスに止まる確率をvとして次が成り立ちます。

Av = v

すなわち、これは固有ベクトルを求める問題です。
ただ、固有ベクトルを求めるのは面倒なので別の簡易的な方法を考えます。GOから出発したときに100万回進んだところのマスの確率分布は求める確率とほぼ同じでしょう。A2は各マスから2回進んだ時に止まるマスの確率です。したがって、A1000000を求めればよいです。下では100万の代わりに220乗を求めています。