藍橋杯 計蒜客之節假日

2022-03-27 09:16:23 字數 2052 閱讀 6352

題幹:

日曆有 陽曆(公曆) 和 陰曆(農曆) 之分。每年都有法定節假日,這些分成三類—雙休、陽曆節假日、陰曆節假日。

雙休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 號是星期幾(一周內的第幾天,每週從星期一開始計數,即星期一為第一天)。

輸出乙個整數,表示當年放假的天數。

樣例輸入

2017

1 28

4 45 30

10 4

7

樣例輸出

113

題目分析:

(1)剛開始想用蔡基姆拉爾森計算公式來解決這個問題,但是仔細一想這種做法不對。原因在於:用該公式可以算出節假日是星期幾,但是當判斷一年中有多少個星期六合星期日時還是得挨個兒算。

(2)應該用模擬的方法解決該問題。用變數sum表示一年中放假的天數;

大致思路如下:

if(當今天是星期六或星期日或節假日時)

**如下:

#include#include

using

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 片...