Posted on 2012-02-26 20:14
hoshelly 閱讀(180)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Programming
- 描述
輝輝、姍姍和佳佳是好朋友,他們一起參加了在湖南長(zhǎng)沙長(zhǎng)郡中學(xué)舉辦的第二十一屆全國(guó)青少年信息學(xué)奧林匹克競(jìng)賽(NOI2004)。他們很早就來(lái)到了長(zhǎng)沙,可是報(bào)名還沒(méi)有開(kāi)始。怎么辦呢?他們決定分頭出去玩一天,晚上回到宿舍以后給大家說(shuō)說(shuō)自己這一天做了什么有意義的事情。
你一定想不到輝輝干嘛去了——他睡了一天。他想:“比賽前幾天老是寫(xiě)程序到深夜,頭暈暈的……沒(méi)關(guān)系,好好睡一覺(jué),然后我會(huì)精神抖擻。醒了之后,我要做有意義的事情。”這一睡可不得了,輝輝從早上a點(diǎn)b分c秒一直睡到了下午d點(diǎn)e分f秒。他睡了多少秒鐘呢?
- 輸入
測(cè)試數(shù)據(jù)包含多組輸入。 每組輸入一行,僅包含六個(gè)非負(fù)整數(shù)a, b, c, d, e, f,以空格分離。1<=a, d<=11, 0<=b, c, e, f<=59。如輸入6 5 4 3 2 1表示輝輝從06:05:04睡到15:02:01。 輸入以六個(gè)零結(jié)尾。
- 輸出
每組輸出一行,僅包含一個(gè)整數(shù)s,即輝輝睡覺(jué)的總秒數(shù)。
- 樣例輸入
6 5 4 3 2 1 0 0 0 0 0 0
- 樣例輸出
32217
注意秒、分、時(shí)之間當(dāng)不同大小時(shí)要進(jìn)行適當(dāng)?shù)慕?運(yùn)算
源代碼如下(感覺(jué)挺丑陋的):
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e,f;
int h,m,s,sum;
while(cin>>a>>b>>c>>d>>e>>f)
{
if(a==0&&b==0&&c==0&&d==0&&e==0&&f==0)
break;
if(b>e)//醒來(lái)的時(shí)刻的分鐘數(shù)大于睡時(shí)的分鐘數(shù)
{
h=d-a+11;//小時(shí)減1
if(c>f)
{
s=f-c+60;
m=e-b+59;
}
else
{
s=f-c;
m=e-b+60;
}
}
else if(b<e)
{
h=d-a+12;
if(c>f)
{
s=f-c+60;
m=e-b-1;
}
else
{
s=f-c;
m=e-b;
}
}
else if(b==e)
{
if(c>f)
{
h=d-a+11;
m=e-b+59;
s=f-c+60;
}
else
{
h=d-a+12;
m=e-b;
s=f-c;
}
}
sum=h*3600+m*60+s;//全部換算成統(tǒng)一單位——秒
cout<<sum<<endl;
}
return 0;
}