2014 今天星期幾(暴力求解)

2021-09-17 01:53:09 字數 2189 閱讀 6175

題目描述

小明是個馬大哈,經常忘了,今天是星期幾,於是他會去找三金問今天是星期幾。三金也忘記了,但是三金那裡有個記錄,為n天前是yyyy年mm月dd日星期w,問你今天的日期和星期幾。

輸入第一行: t 表示以下有t組測試資料 ( 1≤ t ≤8 )

對每組資料, 佔一行:

yyyymmdd w n (20000101≤yyyymmdd≤20180527 1≤w≤ 7 1 ≤n≤ 8000 )

輸出對每組測試資料,輸出佔一行,格式為:yyyymmdd w ( 中間乙個空格 )

樣例輸入

220180527 7 1

20180214 3 289

樣例輸出

20180528 1

20181130 5

題解:

#include

#include

#include

#include

using namespace std;

inttransform_day

(int year,

int month,

int c)

//將資料中的總天數計算出來

if(year%4!=

0||year/

100%4!=

0)return sum;

}/*int transform_year(int day)

*/int

transform_month

(int day)

//判斷其是在哪個月

if(day<

334&&day>=

304||day<

335&&day>=

305)

if(day<

304&&day>=

273||day<

305&&day>=

274)

if(day<

273&&day>=

243||day<

274&&day>=

243)

if(day<

243&&day>=

212||day<

243&&day>=

213)

if(day<

212&&day>=

181||day<

213&&day>=

182)

if(day<

181&&day>=

151||day<

182&&day>=

152)

if(day<

151&&day>=

120||day<

152&&day>=

121)

if(day<

120&&day>=

90||day<

121&&day>=91)

if(day<

90&&day>=

59||day<

91&&day>=60)

if(day<

59&&day>=

31||day<

60&&day>=31)

if(day<=31)

}int

main()

year=d[7]

*1000

+d[6]*

100+d[5]

*10+d[4];

month=d[3]

*10+d[2];

day1=d[1]

*10+d[0];

//求出其資料的年月日

week1=

(week+day)%7

;//求出往前數day天之後是週幾

day2=

transform_day

(year,month,day1)

;//求出總天數

//cout(day2+day>=

365)

//如果總天數大於一年,年數就加一

//couttransform_month

(day2+day)

;//換算為月數

day3=day2+day-

transform_day

(year,month1,0)

;//求出剩下的天數

// cout(month1<10)

else

//輸出結果

}return0;

}//寫的**有點長,請見諒

列舉暴力求解

題目描述 有n個賭徒打算賭一局。規則是 每人下乙個賭注,賭注為非負整數,且任意兩個賭注都不相同。勝者為賭注恰好是其餘任意三個人的賭注之和的那個人。如果有多個勝者,我們取賭注最大的那個為最終勝者。例如,a,b,c,d,e分別下賭注為2 3 5 7 12,最終勝者是e,因為12 2 3 7。輸入輸入包含...

暴力求解總結

輸入正整數n,按從小到大的順序輸出所有形如abcde fghij n的表示式,其中a j恰好為數字0 的乙個排列 可以有前導0 2 n 79。樣例輸入 62 樣例輸出 79546 01283 62 94736 01528 62 分析 分成兩部分加一些細節處理。列舉數字 分母 至少是四位數,從1000...

暴力求解法

1 簡單列舉 輸入正整數n,按從小到大的順序輸出所有形如abcde fghij n的表示式,其中a j恰好位數字0 9的乙個排序 可以有前導0 2 n 79.樣例輸入 樣例輸出 79546 01283 62 94736 01528 62 思路 只要列舉fghij就可以算出abcde,然後判斷所有數字...