Source: Rocky Mountain 2000
題目就是要問從起點(diǎn)時刻第一次走到終點(diǎn)時刻的過程中分針和時針相遇了多少次
我們知道時針每分鐘走動0.5度分鐘每分鐘走動6度
t為從00:00到當(dāng)前時刻走了多少分鐘
那么分針就比時針多走了5.5t度
當(dāng)沒多走360就說明分針與時針相遇了一次
然后我們就算起點(diǎn)時刻和終點(diǎn)時刻分別對00:00來說相遇了時針多少次
然后他們的差值就是這段區(qū)間內(nèi)相遇了多少次
如果起點(diǎn)時刻小于終點(diǎn)時刻那么就是這個差值加上11
因?yàn)橐粋€周期內(nèi)最多相遇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