メモやらログやら

考えたこととかメモする

ABC34-C

問題的には→と↓の並べ方をnCrで求める問題なのだが、制限的にオーバーフローを起こすので回避する方法を調べた。

こちらのページのJavaのコードをpython化して回答した。

手法としては、分子と分母の積算の数値をリストの中に入れておいて、割れる部分を先に割っておいてからかけることでオーバーフローを防いでる。自分でnCrを手計算するときも同様の処理を行うが、それが過不足なくアルゴリズム(というかコード)に落とし込まれていて非常にわかりやすく助かった。なんとなく、考案者のような高度なアルゴリズマー(でよいのだろうか?)は言語化能力も高いのだろうと感じた。


atcoder.jp