每日一題之 hiho235周 潤秒(簡單模擬)

2021-09-06 07:01:58 字數 3244 閱讀 3797

描述

計算機系統中使用的utc時間基於原子鐘,這種計時方式同「地球自轉一周是24小時」的計時方式有微小的偏差。為了彌補這種偏差,我們偶爾需要增加乙個「閏秒」。

最近的一次閏秒增加發生在utc時間2023年的最後一天。我們在2023年12月31日23時59分59秒和2023年1月1日0時0分0秒之間增加了這樣一秒:2023年12月31日23時59分60秒,記作2016-12-31 23:59:60。

目前一共增加了27次閏秒,具體新增的時間見下表:

給出兩個時間,請你判斷在考慮閏秒的情況下,這兩個時間間隔多少秒。

輸入兩個時間各佔一行,格式是yyyy-mm-dd hh:mm:ss,範圍在1970-01-01 00:00:00至2017-03-12 23:59:59之間。保證第乙個時間不晚於第二個時間。

輸出兩個時間間隔多少秒。

樣例輸入

2016-12-31 23:59:59

2017-01-01 00:00:00

樣例輸出

2思路:

簡單模擬,2019了,希望自己更自律一點,更努力一點!

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

static

int month[12]

=;static

int leap_month[12]

=;static

long year_second =

31536000

;long

count_sec

(vector<

int> jun_add, vector<

int> dec_add,

int year,

int mon,

int day,

int hour,

int min,

int sec)

result +

=86400

*(day-1)

+3600

*hour +

60*min + sec;

return result+1;

}void

solve()

;int dec_array[17]

=;for(

int i =

0; i <12;

++i)

for(

int i =

0; i <17;

++i)

string year1_string, time1_string, year2_string, time2_string;

cin >> year1_string >> time1_string >> year2_string >> time2_string;

long

long result =0;

int year1 =

stoi

(year1_string.

substr(0

,4))

;int year2 =

stoi

(year2_string.

substr(0

,4))

;auto jun_index =

lower_bound

(jun_add.

begin()

,jun_add.

end(

),year1)

-jun_add.

begin()

, dec_index =

lower_bound

(dec_add.

begin()

,dec_add.

end(

),year1)

-dec_add.

begin()

;for

(int i = year1;i < year2;

++i)

if(i == jun_add[jun_index])if

(i == dec_add[dec_index])}

int month1 =

stoi

(year1_string.

substr(5

,2))

;int month2 =

stoi

(year2_string.

substr(5

,2))

;int day1 =

stoi

(year1_string.

substr(8

,2))

;int day2 =

stoi

(year2_string.

substr(8

,2))

;int hour1 =

stoi

(time1_string.

substr(0

,2))

;int hour2 =

stoi

(time2_string.

substr(0

,2))

;int min1 =

stoi

(time1_string.

substr(3

,2))

;int min2 =

stoi

(time2_string.

substr(3

,2))

;int sec1 =

stoi

(time1_string.

substr(6

,2))

;int sec2 =

stoi

(time2_string.

substr(6

,2))

; result +

=count_sec

(jun_add,dec_add,year2,month2,day2,hour2,min2,sec2)

; result -

=count_sec

(jun_add,dec_add,year1,month1,day1,hour1,min1,sec1)

; cout<

}int

main()

每日一題之 hiho222周 Big Plus

描述 given an nxn 01 matrix,find the biggest plus consisting of 1s in the matrix.size 1 plus size 2 plus size 3 plus size 4 plus 1 1 1 1 111 1 1 1 1 111...

每日一題之 hiho232周 拆字遊戲

給出乙個01矩陣,1佔據的部分即為需要拆的字,如果兩個1分享一條邊,那麼它們連通。連通具有傳遞性,即如果a b連通,b c連通,則a c連通。連通的一系列1被看做可以拆出的一塊,現在小kui需要輸出這些拆出的塊 用乙個01矩陣表示,並且要求矩陣的大小盡可能的小 為了確保輸出的順序盡可能的和書寫的順序...

每日一題之 hiho1744 hohahola

描述 有一種叫作hohahola的飲料,售價是x元一瓶。小hi非常喜歡這種飲料,但是他現在身無分文。不過小hi有n張優惠券,買hohahola時每瓶最多使用一張優惠券,可以使該瓶 減少y元。y x 同時優惠券可以 小hi每 一張優惠券可以獲得z元。請你幫小hi計算通過 若干優惠券,他最多可以買多少瓶...