SRM515 Div1 Easy(250), Div2 Medium(500) RotatedClock
時間が12通り、分が60通り、時計の回転が12通り。全て試してみる。時針の角度が整数ではなくなってしまうので、分は偶数。
#include <string> #include <cstdio> using namespace std; class RotatedClock{public: string getEarliest( int hourHand, int minuteHand ) { for ( int h=0; h<12; h++ ) for ( int m=0; m<60; m+=2 ) for ( int d=0; d<360; d+=30 ) { if ( ((h*60+m)*360/720+d)%360 == hourHand && (m*360/60+d)%360 == minuteHand ) { char tmp[16]; sprintf( tmp, "%02d:%02d", h, m ); return tmp; } } return ""; }};