競技プログラミングの回答メモ。
実際の問題はちょっと違うけど、エッセンスは同じです。
問題
まず、2つの数値が与えられる。それぞれの数値は、時計の長針と短針の位置を指し示す。ここから、2つの針の最短距離を求めよ。
※ 距離=何時間分離れているか
※ 針はピッタリ数値上にあり、中間地点にはいないものとする。
例
1と4が与えられたら、その距離は3となる。
ただし、11と4が与えられたら、最短距離なので7ではなく5となる。
回答
回答はこんな感じ。
gistbedb867b6b3d8b6e9d6b777248c53a86
条件分岐
以下の条件は、6時間以上離れてしまっているかの判定になる。
a - b > 6
これによって、右回りと左回り、どちらが最短距離かを判定している。
absメソッド
絶対を求めるNumericクラスのメソッド。
4 と11が与えられた時、4 - 11はマイナスになってしまうので、必要となる。
以上です。競技プログラミングのB問題レベルの回答でした。