baru003のブログ

baruの雑記兼備忘録

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");
			}
		}
	}

}