CCF 201503 3 節日 題解

2021-07-24 18:17:55 字數 1291 閱讀 9039

問題描述

有一類節日的日期並不是固定的,而是以「a月的第b個星期c」的形式定下來的,比如說母親節就定為每年的五月的第二個星期日。

現在,給你a,b,c和y

1, y

2(1850 ≤ y

1, y

2 ≤ 2050),希望你輸出從公元y

1年到公元y

2年間的每年的a月的第b個星期c的日期。

為了方便你推算,已知2023年1月1日是星期二。

輸入格式

輸入包含恰好一行,有五個整數a, b, c, y

1, y

2。其中c=1, 2, ……, 6, 7分別表示星期

一、二、……、六、日。

輸出格式

對於y 1和y

2之間的每乙個年份,包括y

1和y2,按照年份從小到大的順序輸出一行。

如果該年的a月第b個星期c確實存在,則以"yyyy/mm/dd"的格式輸出,即輸出四位數的年份,兩位數的月份,兩位數的日期,中間用斜槓「/」分隔,位數不足時前補零。

如果該年的a月第b個星期c並不存在,則輸出"none"(不包含雙引號)。

樣例輸入

5 2 7 2014 2015

樣例輸出

2014/05/11

2015/05/10

評測用例規模與約定

所有評測用例都滿足:1 ≤ a ≤ 12,1 ≤ b ≤ 5,1 ≤ c ≤ 7,1850 ≤ y1, y2 ≤ 2050。

思想:判斷仔細,思路清晰。

#include#includeusing namespace std;

int monday = ;

bool is_run(int year)

int weekday(int year)

else

sum += 365;

}return (sum % 7 + 2) % 7;

}int main()

int cnt = weekday(nowyear);

if(cnt == 0) cnt = 7;

int fristday = (cnt + sum % 7)% 7;

if(fristday == 0) fristday = 7;

int result = 0;

if(fristday <= c)

else

if(result <= monday[a-1])

else

cout << "none"<< endl;

}return 0;

}

C 實現CCF201503 3 節日

問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的順序輸出一行。如果該年的a月第b個星期c確實存在,則以 yyyy mm dd 的格式輸出,即輸出四位...

CCF201503 3節日(公式計算星期)

試題編號 201503 3 試題名稱 節日時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的...

CCF考試 201503 3節日

問題描述 輸入格式 輸入包含恰好一行,有五個整數a,b,c,y1,y2。其中c 1,2,6,7分別表示星期 一 二 六 日。輸出格式 對於y1和y2之間的每乙個年份,包括y1和y2,按照年份從小到大的順序輸出一行。如果該年的a月第b個星期c確實存在,則以 yyyy mm dd 的格式輸出,即輸出四位...