AOJ 0135 - Clock Short hand and Long Hand

正答率28.2%だが,簡単でしょww.すいません嘘でした.
まず,長針と短針の角度計算を間違えていた.
長針は時間の影響も受けることを忘れていました.
次の問題は,長針は30 * H(hour) + 0.5 * M(min)ではないことです.
これは,各々で計算しているために誤差が出るのかなと思い(60 * H + M)/2としました.
最後に,H,Mがint型だったために,aH,aMがint型になってしまい少数が考慮されないという問題です.
これらを考慮してコードを書きました.

#include <iostream>
#include <cstdio>
#include <math.h>
int main(){
	//Input
	int N;
	std::cin >> N;

  double H, M;
	while(N--){
		scanf("%lf:%lf",&H,&M);
		//Processing
		//角度を求める
		double aH = (60 * H + M) / 2, aM = 6 * M, a;
		//std::cout << aH << "," << aM << std::endl;
		a = std::min(fabs(aH-aM), 360-fabs(aH-aM));

		//危険さを判定
		std::string res;
		if(a < 30){
			res = "alert\n";
		}
		else if(a >= 90){
			res = "safe\n";
		}
		else{
			res = "warning\n";
		}

		std::cout << res;
	}
}