題目1022 遊船出租

2021-07-29 14:33:03 字數 2154 閱讀 4799

題目1022:遊船出租

時間限制:1 秒

記憶體限制:32 兆

特殊判題:否

提交:4379

解決:1733

題目描述:現有公園遊船租賃處請你編寫乙個租船管理系統。當遊客租船時,管理員輸入船號並按下s鍵,系統開始計時;當遊客還船時,管理員輸入船號並按下e鍵,系統結束計時。船號為不超過100的正整數。當管理員將0作為船號輸入時,表示一天租船工作結束,系統應輸出當天的遊客租船次數和平均租船時間。

注意:由於線路偶爾會有故障,可能出現不完整的紀錄,即只有租船沒有還船,或者只有還船沒有租船的紀錄,系統應能自動忽略這種無效紀錄。

輸入:測試輸入包含若干測試用例,每個測試用例為一整天的租船紀錄,格式為:

船號(1~100) 鍵值(s或e) 發生時間(小時:分鐘)

每一天的紀錄保證按時間遞增的順序給出。當讀到船號為-1時,全部輸入結束,相應的結果不要輸出。

輸出:對每個測試用例輸出1行,即當天的遊客租船次數和平均租船時間(以分鐘為單位的精確到個位的整數時間)。

樣例輸入:

1 s 08:10

2 s 08:35

1 e 10:00

2 e 13:16

0 s 17:00

0 s 17:00

3 e 08:10

1 s 08:20

2 s 09:00

1 e 09:20

0 e 17:00

-1

樣例輸出:

2 196

0 01 60

2023年浙江大學計算機及軟體工程研究生機試真題

答疑:

思路:乙個重要的就是把時間轉換成分鐘,這樣排序就非常簡單了。

#include #include #include #include #include using namespace std;

struct boat

boat[101];

int minute_change(string str) //分鐘轉換,統一換算成分鐘

bool cmp(const boat &a,const boat &b)

in>>boat[index].ch>>str;

boat[index].minute=minute_change(str);

sort(boat,boat+index,cmp); //排序,把同種船號放在一起

for(int i=0;i

#include#includeusing namespace std;

typedef struct timeinfo

timeinfo;

int gettime(int hour,int minite)

int main()

else if(tag=='e')

}}//endwhile2

if(sum==0)

cout<<0<<' '<<0<

/*********************************

* 日期:2013-2-4

* 題號: 九度oj 題目1022:遊船出租

* 結果:ac

* 總結:

**********************************/

#include#includetypedef struct boatboat;

int main()

//當遊客還船時,管理員輸入船號並按下e鍵,系統結束計時。

else if(key == 'e')

} scanf("%d",&number);

} //當管理員將0作為船號輸入時,表示一天租船工作結束,系統應輸出當天的遊客租船次數和平均租船時間。

//注意:管理員將0作為船號輸入時,輸入的值不作處理。

scanf(" %c %d:%d",&key,&hour,&minute);

//如果有完整租船記錄

if(boatcount != 0)

else

} }

題目1022 遊船出租

題目描述 現有公園遊船租賃處請你編寫乙個租船管理系統。當遊客租船時,管理員輸入船號並按下s鍵,系統開始計時 當遊客還船時,管理員輸入船號並按下e鍵,系統結束計時。船號為不超過100的正整數。當管理員將0作為船號輸入時,表示一天租船工作結束,系統應輸出當天的遊客租船次數和平均租船時間。注意 由於線路偶...

OJ 1022 遊船出租

include include include include using namespace std typedef struct record record mapm map iterator it int getmin int hour,int min int gettime string s...

九度oj 1022 遊船出租

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 3689 解決 1456 題目描述 現有公園遊船租賃處請你編寫乙個租船管理系統。當遊客租船時,管理員輸入船號並按下s鍵,系統開始計時 當遊客還船時,管理員輸入船號並按下e鍵,系統結束計時。船號為不超過100的正整數。當管理員將0作為船號輸入...