ほぼ静的な計画法

競技プログラミングで解いた問題の解法とコードを晒していくページ。ややマイナーなC♯。

AOJ 0211 (Jogging : みんなでジョギング)

 【問題】

https://onlinejudge.u-aizu.ac.jp/challenges/sources/PCK/Final/0211?year=2009

 【解説】

各生徒につき、速度÷距離を求める。この値は、一周に必要な時間の逆数なので、「単位時間あたりに何周するか」を意味する。(この際にあらかじめ速度と距離を最大公約数で割り、規約分数としておく。)この比が求める各周回数の比となる。

あとは距離の最小公倍数で通分することで整数化し、かつ速度の最大公約数で割ってあげることで、比を簡単にすることで、求める答え(=必要な周回数の最小値)となる。

  gist.github.com