WEEK14限時大模擬

2021-10-07 02:59:05 字數 1437 閱讀 9636

思路

大體思路是把所有的間隔小於a的區間合併作為活動的時間,然後再看合併完的時間是否超過了b。但是在實現的時候有很多細節。首先定義乙個時間類,過載小於號。然後以此定義時間區間類。有一種特殊情況是合併之後剩下的乙個區間小於a,也是不可以的。

**

#include

#include

#include

#include

#include

#include

using

namespace std;

struct time

time operator-(

const time& t)

if(tt.mintt.min-

=t.min;

tt.h-

=t.h;

return tt;

}bool

operator

<

(const time& t)

bool

operator

>

(const time& t)

time&

operator=(

const time& t)};

time mins

(time& t)

tt.min--

;return tt;

}time pls

(time& t)

if(tt.h==

24)

tt.h=0;

return tt;

}struct interval

interval

(struct time _st,

struct time _et)

;bool

operator

<

(const interval& t)

interval&

operator=(

const interval& t)};

interval itv[30]

;int a,b,n,num;

intmain()

sort

(itv+

1,itv+

1+num)

;for

(int i=

1; iif(num!=

1&& itv[1]

.st-itv[num]

.edfor(

int i=

1;i<=num; i++)}

if(!***)

if(num==

1&& itv[1]

.st-itv[1]

.edcout<<

"yes"

int i=

1; i<=num; i++

)else}}

return0;

}

week14限時模擬

解題思路 用兩段時間分別記錄睡覺和活動 貓貓在兩段劇的間隔為a,那麼要判斷連續睡覺時間a與a的關係,如果ab那就直接no。注意熬夜的情況需要另外算,在計算的時候全部轉化成分鐘計算,比較方便。include include using namespace std const int maxn 25 c...

Week 14 限時大模擬 貓睡覺問題

多組資料,多組資料,多組資料哦,每組資料的格式如下 第1行輸入三個整數,a 和 b 和 n 1 a 24,1 b 24,1 n 20 第2到n 1行為每日的新番時間表,每行乙個時間段,格式形如 hh mm hh mm 閉區間 這是一種時間格式,hh mm 的範圍為 00 00 到 23 59。注意一...

week14 限時大模擬A貓睡覺問題

input 多組資料,多組資料,多組資料哦,每組資料的格式如下 第1行輸入三個整數,a 和 b 和 n 1 a 24,1 b 24,1 n 20 第2到n 1行為每日的新番時間表,每行乙個時間段,格式形如 hh mm hh mm 閉區間 這是一種時間格式,hh mm 的範圍為 00 00 到 23 ...