題目1022:遊船出租
時間限制:1 秒
記憶體限制:32 兆
特殊判題:否
提交:4379
解決:1733
題目描述:現有公園遊船租賃處請你編寫乙個租船管理系統。當遊客租船時,管理員輸入船號並按下s鍵,系統開始計時;當遊客還船時,管理員輸入船號並按下e鍵,系統結束計時。船號為不超過100的正整數。當管理員將0作為船號輸入時,表示一天租船工作結束,系統應輸出當天的遊客租船次數和平均租船時間。
注意:由於線路偶爾會有故障,可能出現不完整的紀錄,即只有租船沒有還船,或者只有還船沒有租船的紀錄,系統應能自動忽略這種無效紀錄。
輸入:測試輸入包含若干測試用例,每個測試用例為一整天的租船紀錄,格式為:
船號(1~100) 鍵值(s或e) 發生時間(小時:分鐘)
每一天的紀錄保證按時間遞增的順序給出。當讀到船號為-1時,全部輸入結束,相應的結果不要輸出。
輸出:對每個測試用例輸出1行,即當天的遊客租船次數和平均租船時間(以分鐘為單位的精確到個位的整數時間)。
樣例輸入:
1 s 08:102 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 1960 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作為船號輸入...