UVA-10339 Watching Watches

4395 단어 uva
제목의 대의: 두 개의 시계가 있는데 시작할 때 모두 00:00을 가리키지만 하나는 매일 m초 느리고 다른 하나는 매일 k초 느리다. 두 시계가 다시 같은 시각을 가리키는 시간을 가리킨다.분까지 정확하게 반올림하다.
제목 해석: 같은 시간을 다시 가리킬 때 실제 경과 일수, 일수 d=12*3600/abs(m-k)를 구한다.그리고 모든 시계가 모두 느린 초를 구할 수 있고 나머지는 더 이상 자세히 말하지 않고 코드를 볼 수 있다.
주의: 시간과 분을 구할 때는 초, 분, 시간에 따라 등급을 구하는 것이 가장 좋다. 그렇지 않으면 틀리기 쉽다.
 
코드는 다음과 같습니다.
# include<iostream> # include<cstdio> # include<cmath> # include<algorithm> using namespace std; int main() { int m,k; while(~scanf("%d%d",&m,&k)) { if(m==k){ printf("%d %d 12:00
",m,k); continue; } int c=fabs(m-k); double d=12.0*3600.0/c; long long n=d*(24*3600-m); n%=43200; int mm=n/60; n%=60; if(n>=30) ++mm; int hh=mm/60; mm%=60; if(hh==0) hh=12; printf("%d %d %02d:%02d
",m,k,hh,mm); } return 0; }

좋은 웹페이지 즐겨찾기