Source: Rocky Mountain 2000
題目就是要問從起點時刻第一次走到終點時刻的過程中分針和時針相遇了多少次
我們知道時針每分鐘走動0.5度分鐘每分鐘走動6度
t為從00:00到當前時刻走了多少分鐘
那么分針就比時針多走了5.5t度
當沒多走360就說明分針與時針相遇了一次
然后我們就算起點時刻和終點時刻分別對00:00來說相遇了時針多少次
然后他們的差值就是這段區間內相遇了多少次
如果起點時刻小于終點時刻那么就是這個差值加上11
因為一個周期內最多相遇11次
1
#include<stdio.h>
2
int a[100];
3
int main()
4

{
5
int a,b,c,d,l1,l2,ans,aa,cc;
6
printf("Initial time Final time Passes\n");
7
8
while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF)
9
{
10
aa=a;cc=c;
11
if(a==12)aa=0;
12
if(c==12)cc=0;
13
l1=aa*60+b;l2=cc*60+d;
14
ans=((l2*11)/720)-((l1*11)/720);
15
if(l1>l2)ans+=11;
16
printf(" %02d:%02d %02d:%02d %2d\n",a,b,c,d,ans);
17
}
18
return 0;
19
}
20