AOJ 0135
・問題リンク Clock Short Hand and Long Hand
・コメント
時間の角度を求める時と角度の範囲がポイントだったと思います。
・ソース
import java.util.Scanner; public class P0135 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 判定時刻の個数 int n = sc.nextInt(); for (int i = 0; i < n; i++) { // 時刻入力 String str = sc.next(); String[] a = str.split(":"); // 文字列を数字の扱いに変換にし角度を求める double m = 6.0 * Integer.parseInt(a[1]); double h = 30.0 * Integer.parseInt(a[0]) + 0.5 * Integer.parseInt(a[1]); double angle = Math.abs(h - m); // 角度が180°オーバーの処理 if (angle >= 180) angle = 360 - angle; // 判断 if (90 <= angle && angle <= 180) { System.out.println("safe"); } else if (30 <= angle && angle < 90) { System.out.println("warning"); } else { System.out.println("alert"); } } } }