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