亂搞 AOJ 59 09年3月選拔賽第4題

2022-08-20 01:15:12 字數 1275 閱讀 9914

description

最近圖書館的工作人員在檢查館藏書目的時候發現,有很多書籍久久沒有被借書人歸還。於是工作人員決定給這些不負責任的借書人發信件通知他們來圖書館歸還書籍並繳納罰款(會有用嗎?)。現在請你為圖書館工作人員編寫程式,以計算每個不歸還書籍的借書者借書天數。

input

第一行輸入為三個正整數y m d,分別代表現在的年、月、日;

第二行輸入為乙個正整數n,代表下面有多少個借書者資訊;

下面有n行輸入,每行有三個正整數yy mm dd, 代表乙個借書者借書的日期(年、月、日)。

年份資料的範圍為[1, 9999]

output

輸出共有n行,每行輸出乙個正整數,代表對應的借書者借書天數。

sample input

1 1 1

31 1 1

1 1 31

1 2 28

sample output

0

3058

思路:1、如果是同一年,通過算出當前日期是此年的第幾天,然後相減得出

2、如果不是同一年,則中間相隔y1-y2-1個完整的年,通過迴圈判斷是否為閏年,如果是則+366天,否則+365天

結束迴圈後判斷其實和結束年是否為閏年,然後加上366||365-起始年的第幾天,再加上末尾年的第幾天

ps:神經質般的用了__int64...

#include #include 

__int64 wtd(

int year,int month,int day);//

求出是某年的第幾天

int is_run(int year);//

判斷是否為閏年

intmain()

else

if(is_run(y))

day+=366-wtd(y,m,d);

else

day+=365-wtd(y,m,d);

day+=wtd(yy,mm,dd);

}printf(

"%i64d\n

",day);

day=0

; }

return0;

}__int64 wtd(

int year,int month,int

day)

sum+=day;

} else

sum+=day;

} return

sum;

}int is_run(int

year)

模擬 亂搞 AOJ 10 目標柏林

description 1945年初,蘇軍和英美聯軍已從東西兩面攻入德國國境。4月初,在蘇軍和英美聯軍的夾擊下,德軍只能龜縮在以柏林為中心的德國東部的狹長地帶,成了甕中之鱉。但希特拉困獸猶鬥,一方面發出摧毀一切設施,實行 焦土 政策的指令 另一方面下令把德國分為南北兩個行政區,各自作戰,他自己則固守...

數學 亂搞 AOJ 331 漢諾塔

description 大家都聽說過漢諾塔吧?有n個圓盤由小到大排列,套在a柱上,每次只能移動乙個圓盤,而且只能大的在下,小的在上,讓你把a柱上的圓盤移到b柱,給你乙個多餘的c柱,問你最少移動多少次才能完成任務。input 輸入有多組資料,每組包括乙個整數n n 10000000 表示初始狀態下有n...

亂搞 AOJ 574 愛就大聲說出來

description 時間是一把刻刀,也是無情的流水。它曾經用它鋒利的刀刃深深刻進 ff 心裡的那個女孩,也被流年洗刷得只剩下模糊的影子。時隔一年之後,逐漸從往年的心事中走出來的 ff 邂逅了另乙個讓他心動的人。她會是 ff 一直尋找著的那個人嗎?ff 沒辦法知道,他只知道,愛就要大聲說出來。請你...