Problem B : Clock †問題概要 †時刻が hh:mm (00 <= hh <= 23 ,00 <= mm <= 59) の形式で5つ与えられる。 アナログ時計で長針と短針がなす角(0度以上180度以下の方)の大きさの小さいもの順(同じ角度ならば、早い時間が先に来る)でソートし3番目のものを出力。。 難易度 †やや易。 解法 †12時の方向と長針のなす角(時計回り): mm * (360/60) (度) 12時の方向と短針のなす角(時計回り): (hh % 12) * (360/12) + mm * 360/12/60 (度) (上の2つの差) mod 180 が長針と短針がなす角。 この後は例えば [求まった角度] * 24 * 60 + hh * 60 + mmをキーにしてソートすればよいだろう。 議論・その他 †
ファイルを添付する † |