f.日期小助手
作為乙個關心父母的孩子,compute 會在每年的母親節和父親節為父母準備禮物。可是粗心的他卻不記得它們的具體日期了。
已知:母親節在每年 5 月的第 2 個週日;父親節在每年 6 月的第 3 個週日。
現在你需要告訴他,下乙個(不包括當天)母親節或父親節是在什麼時候。
第一行包含乙個整數 t (t≤100),表示測試資料的組數。
對於每組資料,包含三個整數 y, m, d,中間以空格分隔,分別表示今天的年、月、日。
輸入保證是乙個在公元 2000 年 1 月 1 日 到 2100 年 12 月 31 日間的合法日期。
輸出描述:
對於每組資料,在一行輸出下乙個需要準備禮物的節日和日期。格式參考樣例輸出。
72000 1 1
2001 1 1
2002 1 1
2003 1 1
2020 1 1
2020 5 10
2020 6 21
mother』s day: may 14th, 2000
mother』s day: may 13th, 2001
mother』s day: may 12th, 2002
mother』s day: may 11th, 2003
mother』s day: may 10th, 2020
father』s day: june 21st, 2020
mother』s day: may 9th, 2021
題解:模擬+吉姆拉爾森計算星期公式
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
const ll maxn=
1e6+10;
const ll inf=
0x3f3f3f3f3f3f3f3f
;voidio(
)string str[50]
=;ll s_day
(ll y,ll m,ll d);if
(y%4==0
&&y%
100!=
0||y%
400==0)
flag=1;
for(
int i=
0;i)return day;
}ll get_week
(ll y,ll m,ll d)if(
(d+2
*m+3
*(m+1)
/5+y+y/
4-y/
100+y/
400+1)
%7==0
)return7;
else
return
(d+2
*m+3
*(m+1)
/5+y+y/
4-y/
100+y/
400+1)
%7;}
intmain()
return0;
}
科大訊飛杯 日期小助手
作為乙個關心父母的孩子,compute 會在每年的母親節和父親節為父母準備禮物。可是粗心的他卻不記得它們的具體日期了。已知 母親節在每年 5 月的第 2 個週日 父親節在每年 6 月的第 3 個週日。現在你需要告訴他,下乙個 不包括當天 母親節或父親節是在什麼時候。第一行包含乙個整數 t t leq...
牛客 F日期小能手
題目鏈結 這道題,思路就是找到6.1,和5.1是週幾,然後再把日期加上去,想法是直接暴算,但是因為我又菜又懶,就放棄了這個題,後來補題的時候,看到大佬的 有公式可以計算某一天日期是週幾,並且,可以先進行預處理這樣更方便了,偷學了一手,確實,有奇效。這裡留一下大佬的 以便日後參考和學習 include...
科大訊飛杯 日期小助手(補)
思路 找規律發現母親節出現的日期在8 14之間,若x 8則x x 7 15,父親節出現的日期在15 21之間,若x 15則x x 7 22,賽時忘記掉2100年不是閏年了真的找bug找吐了 include include typedef long long ll using namespace st...