0135-Clock Short Hand and Long Hand

このままじゃあソースを張るだけになってしまうので、思考の軌跡とかを載せることにする。

http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0135
問題文を読んで笑ってしまった。
時刻をh時m分とすると、
短針の角度は360*m/60
長針の角度は360*(h*60+m)/720
となるので、それを実装すればよいのだが、
2の角度が5°と355°のような場合に注意する。

後、長針の角度は実数になるのでそれにも気をつける。

int main(){
	int h,m,n;
	double hh,mm;
	double dis;
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		scanf("%d:%d",&h,&m);
		mm=360.0*(double)m/60.0;
		hh=360.0*((double)h*60.0+(double)m)/720.0;
		dis=fabs(hh-mm);
		if (dis>180) dis=360-dis;
		if(dis<30){
			printf("alert\n");
		} else if(dis>=90){
			printf("safe\n");
		} else {
			printf("warning\n");
		}
		fflush(stdout);
	}

	return 0;
}