程式設計 week14 貓睡覺

2021-10-06 21:12:39 字數 2100 閱讀 7225

解題思路

把時間轉換成分鐘,好進行比較

設定乙個ptp結構體,記錄一段開始結束的時間

一開始的輸入,記錄在rem陣列裡面

並且按照start的公升序排列

並且因為每天的表都是一樣的

所以要把第乙個番的時間填到最末尾

這樣就可以前後2天聯絡起來

然後找出合法的睡覺時間

記錄下來

並且把超出今天的部分,轉移到今天開始的地方

並且要把第乙個番也放到最後

為了前後2天能聯絡起來

然後比較是否醒來的時間超時了

最後得出結果

**實現

#include

#include

#include

#include

using

namespace std;

int a,b,n;

void

input

(string t,

int&t1,

int&t2)

//轉為分鐘

struct ptp};

ptp rem[

200]

;ptp sleep[

200]

;int si;

void

out(

int i)

;int

main()

sort

(rem+

1,rem+n+1)

; rem[n+1]

.start = rem[1]

.start+24*

60, rem[n+1]

.end = rem[1]

.end +24*

60;//找出睡覺時間

for(

int i=

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

for(

int i=

1;i<=si-

1;i++

)//把超出今天的,平移到今天的開始位置

sort

(sleep+

1,sleep+si)

; sleep[si]

.start = sleep[1]

.start+24*

60,sleep[si]

.end=sleep[1]

.end+24*

60;bool flag=1;

//比較醒來的時間,如果超了,就no

for(

int i=

1;i<=si-

1;i++)}

if(!flag || si==1)

else

// memset(rem,0,sizeof rem);

// memset(sleep,0,sizeof sleep);

}return0;

}void

out(

int i)

else

cout<<

":";

if(min_s <10)

else

cout<<

"-";

if(hour_e <10)

else

cout<<

":";

if(min_e <10)

else

cout<

}

week14 實驗A 貓睡覺問題

樣例輸入 12 12 1 23 00 01 00 3 4 3 07 00 08 00 11 00 11 09 19 00 19 59 樣例輸出 yes101 07 22 13 no在剛看到這題的時候,感覺和之前的time planner很像,但是還是有很多細節不同,在實驗課上一直不知道怎麼處理好。把...

Week 14 模擬 A 貓睡覺問題

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

A 貓睡覺問題(week14模擬)

no1 準確理解題意,剛開始並沒有完全理解題意,導致寫題寫的很糊塗,把題理解成在1 2天範圍內的時間安排表做好 2 將時間統一格式,全部用分鐘表示,剛開始試圖用 小時 分鐘 形式,但是開閉區間以及時間比較的時候出現了一些問題,導致一直wa,因此下次對於這種時間比較問題最好將時間轉化為乙個整數 3 注...