題幹:
日曆有 陽曆(公曆) 和 陰曆(農曆) 之分。每年都有法定節假日,這些分成三類—雙休、陽曆節假日、陰曆節假日。
雙休1)週六和週日 2 天
陽曆節假日
1)元旦:陽曆每年 1 月 1 日,放假 1 天
2)勞動節:陽曆每年 5 月 1 日,放假 1 天
3)國慶節:陽曆每年 10 月 1 日,放假 3 天
4)聖誕節:陽曆每年 12 月 25 日,放假 1 天
陰曆節假日
1)春節:陰曆每年 1 月 1 日,放假 3 天
2)清明節:陽曆每年 4 月 4 - 6 日之間的某天,放假 1 天
3)端午節:陰曆每年 5 月 5 日,放假 1 天
4)中秋節:陰曆每年 8 月 15 日, 放假 1 天
當節假日和雙休重合時,雙休 不延後 也 不提前,保證節假日之間不會重合。現在給你某年的所有陰曆節假日的 陽曆 日期,以及當年的 1 月 1 日是星期幾,請你計算出這一年(陽曆 1 月 1 日到 12 月 31 日)放了多少天假(包括雙休、陽曆節假日和陰曆節假日)。
第一行輸入年份 y(1900接下來 4 行,每行輸入兩個整數,m,d, 分別表示春節、清明節、端午節和中秋節的陽曆日期。
最後一行乙個整數表示當年 1 月 1 號是星期幾(一周內的第幾天,每週從星期一開始計數,即星期一為第一天)。
輸出乙個整數,表示當年放假的天數。
樣例輸入
20171 28
4 45 30
10 4
7
樣例輸出
113題目分析:
(1)剛開始想用蔡基姆拉爾森計算公式來解決這個問題,但是仔細一想這種做法不對。原因在於:用該公式可以算出節假日是星期幾,但是當判斷一年中有多少個星期六合星期日時還是得挨個兒算。
(2)應該用模擬的方法解決該問題。用變數sum表示一年中放假的天數;
大致思路如下:
if(當今天是星期六或星期日或節假日時)
**如下:
#include#includeusing
namespace
std;
typedef
struct
date
date;
bool cmp(date &d1,date &d2) ///
將節假日按照日期先後排序
else
if(d1.m==d2.m)
else
}else
}bool isrun(int y) ///
判斷是否為閏年
else
}else
}else
}int
main()
;
inty;
cin>>y;
for(int i=4;i<8;i++)
sort(a,a+8,cmp); ///
對節假日從小到大排序
intw;
cin>>w;
int days=365
;
if(isrun(y))
int d=0;int m=1
;
int weekday=w-2; ///
初始化,目的是讓0-6代表星期一到星期日
int sum=0;int p=0
;
for(int i=1;i<=days;i++)
if(weekday==5 || weekday==6 || (m==a[p].m && d==a[p].d))
else}}
}}
cout
}
題幹:在x星系的廣袤空間中漂浮著許多x星人造「炸彈」,用來作為宇宙中的路標。
每個炸彈都可以設定多少天之後**。
比如:阿爾法炸彈2023年1月1日放置,定時為15天,則它在2023年1月16日**。
有乙個貝塔炸彈,2023年11月9日放置,定時為1000天,請你計算它**的準確日期。
請填寫該日期,格式為 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
藍橋杯 計蒜客之逃生
題幹 蒜頭君在玩一款逃生的遊戲。在乙個 n m 的矩形地圖上,蒜頭位於其中乙個點。地圖上每個格仔有加血的藥劑,和掉血的火焰,藥劑的藥效不同,火焰的大小也不同,每個格仔上有乙個數字,如果格仔上的數字是正數說明是乙個藥劑代表增加的生命值,如果是負數說明是火焰代表失去的生命值。蒜頭初始化有 v 點血量,他...
藍橋杯 計蒜客之買書
必須寫乙個部落格來出出心中這口惡氣,因為每次遇到遞迴的問題都會卡很長時間,這次也不例外 生氣的表情 哼 題幹 蒜頭君去書店買書,他有 m元錢,書店裡面有 n本書,每本書的 為 pi元。蒜頭君很愛學習,想把身上錢都用來買書,並且剛好買 k本書。請幫蒜頭君計算他是否能剛好用 m元買 k本書。第一行輸入 ...
藍橋杯 計蒜客之踏青
題幹 蒜頭君和他的朋友週末相約去召喚師峽谷踏青。他們發現召喚師峽谷的地圖是由一塊一塊格仔組成的,有的格仔上是草叢,有的是空地。草叢通過上下左右 4個方向擴充套件其他草叢形成一片草地,任何一片草地中的格仔都是草叢,並且所有格仔之間都能通過上下左右連通。如果用 代表草叢,代表空地,下面的峽谷中有 2 片...