1. 程式人生 > >2017CCCC決賽 L1-3. 閱覽室

2017CCCC決賽 L1-3. 閱覽室

天梯圖書閱覽室請你編寫一個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下S鍵,程式開始計時;當讀者還書時,管理員輸入書號並按下E鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。

注意:由於線路偶爾會有故障,可能出現不完整的紀錄,即只有S沒有E,或者只有E沒有S的紀錄,系統應能自動忽略這種無效紀錄。另外,題目保證書號是書的唯一標識,同一本書在任何時間區間內只可能被一位讀者借閱。

輸入格式:

輸入在第一行給出一個正整數N(<= 10),隨後給出N天的紀錄。每天的紀錄由若干次借閱操作組成,每次操作佔一行,格式為:

書號([1, 1000]內的整數) 鍵值(“S”或“E”) 發生時間(hh:mm,其中hh是[0,23]內的整數,mm是[0, 59]內整數)

每一天的紀錄保證按時間遞增的順序給出。

輸出格式:

對每天的紀錄,在一行中輸出當天的讀者借書次數和平均閱讀時間(以分鐘為單位的精確到個位的整數時間)。

輸入樣例:
3
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
輸出樣例:
2 196
0 0
1 60
當時一直不知道為什麼第二個樣例沒過。現在看起來只加了一行,就是,還書後要把這個編號從map裡面刪除。

每天借書還書都是重新開始的,所以每一天借書後都要把map清空。

這道題要記得應對好字元‘:’的處理,如果沒處理好我發現會一直死迴圈。

程式碼如下:

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int a, b, book, ans = 0, k = 0, day;
	char se[5];
	map<int, int> m;
	map<int, int>::iterator iter;
	cin >> day;
	while(day)
	{
		scanf("%d", &book);
		scanf("%s%d:%d", &se, &a, &b);
		if(book > 0)
		{
			if(se[0] == 'S')
				m[book] = a * 60 + b;
			else if(se[0] == 'E')
			{
				if(m.find(book) != m.end())
				{
					ans += a * 60 + b - m[book];
					k++;
					m.erase(book); 
				}
			}
		}
		else
		{
			if(k != 0)
				cout << k << " " << (int)(1.0 * ans / k + 0.5) << endl;
			else
				cout << "0 0" << endl;
			k = 0;
			ans = 0;
			m.clear();
			day--;
		}
	}
	return 0;
}

相關推薦

2017CCCC決賽 L1-3. 閱覽室

天梯圖書閱覽室請你編寫一個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下S鍵,程式開始計時;當讀者還書時,管理員輸入書號並按下E鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平

2017CCCC決賽 L2-3. 圖著色問題

圖著色問題是一個著名的NP完全問題。給定無向圖 G = (V, E),問可否用K種顏色為V中的每一個頂點分配一種顏色,使得不會有兩個相鄰頂點具有同一種顏色? 但本題並不是要你解決這個著色問題,而是對給定的一種顏色分配,請你判斷這是否是圖著色問題的一個解。 輸入格式: 輸入在第一行給出3個整數V(0

團體程序設計天梯賽-練習集-*L1-043. 閱覽室

!= tro OS ble 每次 c++ 組成 超過 程序設計 L1-043. 閱覽室 天梯圖書閱覽室請你編寫一個簡單的圖書借閱統計程序。當讀者借書時,管理員輸入書號並按下S鍵,程序開始計時;當讀者還書時,管理員輸入書號並按下E鍵,程序結束計時。書號為不超過1000的

L1-3 宇宙無敵加法器 - 令人激動的一道題目

工程 add tac bre 輸出 c++ IT mes 進位 L1-3 宇宙無敵加法器 - 令人激動的一道題目 感覺好久沒有這麽認真的做一道題了,今天看到一句話, 說是編程是一個工程型的工作,想要學好,”無他,唯手熟爾“ 之前覺得自己笨,懷疑自己,但是自己還沒有投入時

PAT-GPLT訓練集 L1-043 閱覽室

using pri log names %d contest for https blank PAT-GPLT訓練集 L1-043 閱覽室 註意:連續的S和E才算一次借還 代碼: #include<iostream> #include<cstdio>

2018/12/08 L1-043 閱覽室 Java

考察了四捨五入的功能, 還有將題目轉化成程式碼的能力, 程式碼如下:   這題是用陣列實現的, 那麼, 有沒有可能用容器來實現 import java.io.BufferedReader; import java.io.InputStreamReader; public clas

(pat)L1-3. 情人節

題目: 以上是朋友圈中一奇葩貼:“2月14情人節了,我決定造福大家。第2個贊和第14個讚的,我介紹你倆認識…………咱三吃飯…你倆請…”。現給出此貼下點讚的朋友名單,請你找出那兩位要請客的倒黴蛋。 輸入格式: 輸入按照點讚的先後順序給出不知道多少個點讚的人名,每個人名

課時3.使用者管理-大資料與人工智慧實戰L1系列課程-小象學院

知識要點 1.新增新組     groupadd groupname 2.新增新使用者     useradd username 3.設定使用者密碼     passwd username 4.給使用者新增組     usermod -g groupname

3.L1和L2的區別;L1為什麼能稀疏矩陣L2不能;L2為什麼能解決過擬合

1.L1和L2的區別 L1:預測值與實際值差值的絕對值之和 L2:預測值與實際值差值的平方之和 2.L1為什麼能稀疏矩陣L2不能: 矩陣指的是模型引數組成的矩陣,稀疏是指模型引數很多是0。 為什麼L1可以呢,從一個特徵的模型來觀察,損失函式為 F(w)=f+

2017CCCC天梯賽決賽 賽後總結

稍微刷了幾道題,所以果然還是做崩了。 賬號hdhd1_hdu0_s3_8  密碼a80d46 拿了252分,總排名算第16名?手速還是不夠,依舊被csy虐慘了233333。 前期開錯了題,先做的L2-004,速度不夠,大概10~20個才做完。 然後發現L3沒人A

L1-029. 是不是太胖了(天梯賽決賽題目)

據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。已知市斤是公斤的兩倍。現給定某人身高,請你計算其標準體重應該是多少?(順便也悄悄給自己算一下吧……) 輸入格式: 輸入第一行給出一個正整數H(100 < H <= 300

[Swift-2019力扣杯春季決賽]3. 最長重復子串

字母 func ans 字符串 bin rom span run 出現 給定字符串 S,找出最長重復子串的長度。如果不存在重復子串就返回 0。 示例 1: 輸入:"abcd" 輸出:0 解釋:沒有重復子串。 示例 2: 輸入:"abbaba" 輸出:2

2017.5.3上午學習內容

技術 images logs log -1 alt cnblogs 學習內容 image 聽刑法第十一章2017.5.3上午學習內容

2017 5月3日上午

linux inux 傳播 img 目的 今天 視頻 前三 操作 今天看通信工程教學視頻,了解了Linux 的一些知識 Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。 Linux的

5.3上午

分享 mage blog alt img 編譯原理 一個 原理 src 今天上午前1個半小時做《接力題典1800》. 後一個半小時上課,編譯原理,老師方紅琴。 5.3上午

Sublime Text 3 快捷鍵總結

tex pack text 安裝 定位 pac 窗口 位置 默認 選擇類 Ctrl+D 選中光標所占的文本,繼續操作則會選中下一個相同的文本。 Alt+F3 選中文本按下快捷鍵,即可一次性選擇全部的相同文本進行同時編輯。舉個栗子:快速選中並更改所有相同的變量名、函數名等。

直播疑難雜癥排查(3)— 首開慢

播放器 問題 直播 排查 首開 本文是 《直播疑難雜癥排查》系列的第三篇文章,我們來看看直播過程中,最重要的一個性能指標:首開。1. 首開慢的表現點擊播放後,需要好幾秒才能顯示播放畫面。2. 常見首開慢問題排查2.1 點擊播放後才從服務器取播放地址播放視頻,第一件事就是要拿到播放地址,大多

5月3日學習收獲

rate add 破解 mdk ext visio 不能 區別 .exe keil uvision4 破解:MDK412安裝包→一路next→安裝好了之後,用管理員模式打開軟件→File→License Management→Computer ID→復制CID→keilli

2017.5.3 4.全排列

col font ace urn color span 順序輸出 所有 一個 題目描述 給定N(N<10),按照字典序輸出所有的N排列。 輸入 第一行輸入N。 樣例輸入 3 輸出 輸出1到N的全排列,一行一個排列,按照字典序順序輸出。

3.1 Java以及Lucene的安裝與配置

clas font style edi 面向對象 上進 net ref ips Lucene是Java開發的一套用於全文檢索和搜索的開源程序庫,它面向對象多層封裝,提供了一個低耦合、與平臺無關的、可進行二次開發的全文檢索引擎架構,是這幾年最受歡迎的信息檢索程序庫[1]。對L