CSP认证201412-3集合竞价[C++题解]:枚举、结构体
生活随笔
收集整理的這篇文章主要介紹了
CSP认证201412-3集合竞价[C++题解]:枚举、结构体
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目分析
來源:acwing
分析
這題數(shù)據(jù)量比較小,首先思考用什么來存,這里用結(jié)構(gòu)體。成員包括買賣類型、價(jià)格、成交量、是否被刪除。
然后就是暴力枚舉每個(gè)價(jià)格,求得成交量,然后比較大小即可。
關(guān)于讀入:
輸入數(shù)據(jù)有任意多行,每一行是一條記錄。
buy 9.25 100 buy 8.88 175 sell 9.00 1000 buy 9.00 400 sell 8.92 400 cancel 1 buy 100.00 50根據(jù)讀入數(shù)據(jù):我們可以知道每條測(cè)試數(shù)據(jù)都是以 string開頭的,然后后面跟著1個(gè)或者2個(gè)數(shù)據(jù)。 所以我們可以這樣讀取,用string type; while(cin >> type){}來讀,然后分別處理。
一種讀入如下:
string type;while(cin >> type){ //讀取每行記錄的第一個(gè)stringif( type == "buy"){ // 如果是buy,則再讀取后面2個(gè)數(shù)據(jù)double p;int s;cin >> p >> s;d[ ++ n] = {1, p, s};}else if( type == "sell"){ // 如果是sell,則再讀取后面2個(gè)數(shù)據(jù)double p;int s;cin >> p >> s;d[ ++ n] = {2, p, s};}else{ // 如果是delete,再讀取后面1個(gè)數(shù)據(jù)int id;cin >> id;d[id].is_del = true;d[ ++ n].is_del = true;}}ac代碼
題目來源
https://www.acwing.com/problem/content/3212/
總結(jié)
以上是生活随笔為你收集整理的CSP认证201412-3集合竞价[C++题解]:枚举、结构体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSP认证201412-2Z字形扫描[C
- 下一篇: 最小生成树板子-AcWing 858.