#include #define DEBUG3 #define NOP do{}while(0) #ifdef DEBUG #define TRACE(...) do{printf(__VA_ARGS__);fflush(stdout);}while(0) #define TRACECR do{printf("\n");fflush(stdout);}while(0) #else #define TRACE(...) NOP #define TRACECR NOP #endif int main( void ) { int hh,mm; double h,m; double vh,vm,vl; double kk = 0.; double min = 60.0 * 60.0; scanf("%d %d", &hh, &mm ); h = (double)hh; m = (double)mm; TRACE("%02d:%02d\n",hh,mm); vm = m; TRACE("長針の進み具合 vm %.4f\n",vm); if( h >= 12.0 ) h -= 12.0; if( h == 0 ) { if( m ) { kk = (60. - mm ) *60; kk += (1 * 60. / 11.)*60.; } } else if( h == 11 ) { kk = (60. - mm ) *60; } else { TRACE("h %.2f\n", h ); vh = (h * 60. / 11.); TRACE("重なる位置(分)vh %.4f\n",vh); if( vh < vm ) { TRACE("h %.2f, vh %.2f, vm%.2f\n", h, vh, vm ); TRACE("先に長針がある\n"); h++; TRACE("h %.2f\n", h ); kk = (60. - mm ) *60; kk += (h * 60. / 11.)*60. -1.0; } else if( vh > vm ) { TRACE("長針が後ろにある\n"); TRACE("h %.2f, vh %.2f, vm%.2f\n", h, vh, vm ); kk = (h * 60. / 11.)*60. - ( mm * 60. ); } } printf("%.0f\n", kk ); return 0; }