亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CCF201412-3 集合競價(100分)

2019-11-10 17:42:32
字體:
來源:轉載
供稿:網友

問題鏈接:CCF201412試題。

問題描述

  某股票交易所請你編寫一個程序,根據開盤前客戶提交的訂單來確定某特定股票的開盤價和開盤成交量。  該程序的輸入由很多行構成,每一行為一條記錄,記錄可能有以下幾種:  1. buy p s 表示一個購買股票的買單,每手出價為p,購買股數為s。  2. sell p s 表示一個出售股票的賣單,每手出價為p,出售股數為s。  3. cancel i表示撤銷第i行的記錄。  如果開盤價為p0,則系統可以將所有出價至少為p0的買單和所有出價至多為p0的賣單進行匹配。因此,此時的開盤成交量為出價至少為p0的買單的總股數和所有出價至多為p0的賣單的總股數之間的較小值。  你的程序需要確定一個開盤價,使得開盤成交量盡可能地大。如果有多個符合條件的開盤價,你的程序應當輸出最高的那一個。  輸入數據有任意多行,每一行是一條記錄。保證輸入合法。股數為不超過108的正整數,出價為精確到恰好小數點后兩位的正實數,且不超過10000.00。  你需要輸出一行,包含兩個數,以一個空格分隔。第一個數是開盤價,第二個是此開盤價下的成交量。開盤價需要精確到小數點后恰好兩位。問題分析:這是一個競價匹配的問題。數據可以存儲在結構數組中,但未必是好的方案。使用兩個優先隊列,一個用于存儲購入訂單,按價格從大到小排列;另外一個用于存儲賣出訂單,按價格從小到大排列;然后進行價格的匹配處理。

程序說明:(略)。

提交后得100分的C++語言程序如下:

/* CCF201412-3 集合競價 */#include <iostream>#include <queue>#include <cstring>#include <cstdio>using namespace std;const int N = 5000;struct trading {    int orderno;    char t;    float PRice;    long long quantity;    bool Operator < (const trading& n) const {        if(t == 's')            return price > n.price;        else // t == 'b'            return price < n.price;    }};bool cancelflag[N+1];int main(){    trading t;    priority_queue<trading> sell, buy;    string strading;    // 變量初始化    memset(cancelflag, false, sizeof(cancelflag));    // 輸入數據    int no = 0, tno;    while(cin >> strading) {        if(strading[0] == 'c') {            // 設置交易號            no++;            // 輸入取消的交易號            cin >> tno;            // 設置取消標志            cancelflag[tno] = true;        } else if(strading[0] == 'b' || strading[0] == 's') {            // 設置交易號            t.orderno = ++no;            // 輸入交易價格和數量            cin >> t.price >> t.quantity;            // 將交易分別放入買入和賣出的優先隊列            if(strading[0] == 'b') {                t.t = strading[0];                buy.push(t);            } else {    // t.trading[0] == 's'                t.t = strading[0];                sell.push(t);            }        } else            break;    }    // 集合競價處理    t.price = 0;    t.quantity = 0;    trading b, s;    for(;;) {        // 清除被取消的訂單(同時將隊頭放在b和s中)        while(!buy.empty()) {            b = buy.top();            if(cancelflag[b.orderno])                buy.pop();            else                break;        }        while(!sell.empty()) {            s = sell.top();            if(cancelflag[s.orderno])                sell.pop();            else                break;        }        // 買賣隊列只要有一個為空,則處理結束        if(buy.empty() || sell.empty())            break;        // 集合競價處理        if(b.price >= s.price) {            t.quantity += min(b.quantity, s.quantity);            t.price = b.price;            if(b.quantity == s.quantity) {                buy.pop();                sell.pop();            } else if(b.quantity > s.quantity) {                b.quantity -= s.quantity;                buy.pop();                buy.push(b);                sell.pop();            } else {    // b.quantity < s.quantity                buy.pop();                s.quantity -= b.quantity;                sell.pop();                sell.push(s);            }        } else            break;    }    // 輸出結果    printf("%.2f", t.price);    cout << " " << t.quantity << endl;    return 0;}/*測試樣例:sell 8.88 100sell 8.88 175sell 9.00 400buy 8.88 400cancel 1sell 100.00 508.88 175buy 9.25 100buy 8.88 175buy 9.00 400sell 8.88 400cancel 1buy 100.00 509.00 400buy 9.25 100buy 8.88 175buy 9.00 400sell 8.79 1501cancel 1cancel 29.00 400buy 9.25 110buy 8.88 300buy 18.88 200sell 8.88 201sell 9.25 1009.25 301*/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大胆在线视频| 日韩在线观看视频免费| 久久深夜福利免费观看| 国产精品中文字幕久久久| 欧美大奶子在线| 91免费在线视频| 日韩精品在线免费观看| 日韩美女主播视频| 国产精品久久久久久久久男| 亚洲欧洲国产伦综合| 91免费电影网站| 国产精品久久久久久五月尺| 日韩麻豆第一页| 精品国产一区二区三区在线观看| 亚洲无亚洲人成网站77777| 亚洲网在线观看| 亚洲综合成人婷婷小说| 亚洲精品国产美女| 国模gogo一区二区大胆私拍| 国产精品最新在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品视频一区二区三区四| 一区二区三区四区视频| 亚洲成人免费在线视频| 精品色蜜蜜精品视频在线观看| 久久91亚洲精品中文字幕| 日韩免费观看视频| 最近免费中文字幕视频2019| 成人久久一区二区三区| 成人黄色影片在线| 精品视频中文字幕| 亚洲图片欧美日产| 国产69精品久久久久久| 久久国产精品久久久| 国产综合视频在线观看| 亚洲欧美日韩国产中文| 久久国产精彩视频| 国产精品高潮呻吟久久av野狼| 国产免费久久av| 永久免费看mv网站入口亚洲| 91高清免费视频| 另类少妇人与禽zozz0性伦| 揄拍成人国产精品视频| 国产精品对白刺激| 日本老师69xxx| 欧美极品少妇与黑人| 国产一区欧美二区三区| 日韩中文字幕在线视频播放| 欧美成人亚洲成人日韩成人| 欧美亚洲午夜视频在线观看| 国产在线观看精品一区二区三区| 久久久久国产精品一区| 92看片淫黄大片看国产片| 51久久精品夜色国产麻豆| 成人有码视频在线播放| 亚洲国产天堂网精品网站| 欲色天天网综合久久| 国产精品电影网| 国产精品久久久av| 欧美日韩一区二区免费在线观看| 韩国精品久久久999| 国产精品狼人色视频一区| 人人做人人澡人人爽欧美| 日韩欧美国产骚| 日韩国产高清视频在线| 国外成人在线播放| 国产一区二区黑人欧美xxxx| 日本成人在线视频网址| 日韩中文字幕在线精品| 国产精品久久久久久久9999| 懂色av中文一区二区三区天美| 欧美亚洲国产日本| 国产精品第一第二| 成人黄色av播放免费| 理论片在线不卡免费观看| 精品久久久久久国产91| 成人黄色免费网站在线观看| 国产精品看片资源| 欧美日韩国产精品一区| 日本高清+成人网在线观看| 亚洲欧洲日产国码av系列天堂| 91成人免费观看网站| 欧美日韩免费区域视频在线观看| 国产精品免费网站| 国产网站欧美日韩免费精品在线观看| 久久久久久久国产精品| 久热精品视频在线免费观看| 国产一区二区三区在线观看网站| 久久成人人人人精品欧| 国产精品丝袜久久久久久不卡| 久久人人爽人人爽人人片av高请| 国产精品成熟老女人| 欧美日韩亚洲国产一区| 精品国产拍在线观看| 欧美成人精品不卡视频在线观看| 亚洲影视中文字幕| 欧美性猛交xxxx富婆| 97视频免费在线看| 欧美日韩亚洲一区二区三区| 欧美在线xxx| 亚洲福利视频网站| 亚洲欧美日韩视频一区| 国产一级揄自揄精品视频| 国产精品久久久久久久久久东京| 欧美精品在线免费观看| 97免费在线视频| 欧美日本亚洲视频| 久久久国产精品免费| 色老头一区二区三区| 国产精品日韩在线观看| 国产综合在线观看视频| 久久久www成人免费精品| 精品久久久久久国产| 日韩福利视频在线观看| 亚洲精品电影网在线观看| 亚洲一区二区三区成人在线视频精品| 中文字幕一精品亚洲无线一区| 5566日本婷婷色中文字幕97| 欧美午夜视频一区二区| 91免费看片在线| 精品日韩美女的视频高清| 一区二区三区 在线观看视| 国产精品久久久久av| 免费成人高清视频| 亚洲欧美国产精品| 国产精品wwww| 日韩视频免费看| 这里精品视频免费| 久久久久久久久久亚洲| 成人xxxxx| 久久久久久97| 亚洲午夜精品视频| 国产精品国产三级国产专播精品人| 国产日韩欧美日韩大片| 97视频在线看| 亚洲va码欧洲m码| 国产做受69高潮| 国产成人精品国内自产拍免费看| 欧美一区二区影院| 538国产精品视频一区二区| 国产欧美久久久久久| 亚洲男女自偷自拍图片另类| 亚洲18私人小影院| 午夜免费在线观看精品视频| 久久久久久久久综合| 国产精品自拍偷拍| 国产精品第一页在线| 97超视频免费观看| 欧美国产亚洲视频| 国产精品免费久久久久影院| 国产福利视频一区| 国产精品永久免费观看| 欧美激情一区二区三区久久久| 精品视频久久久久久久| 亚洲男人天堂2019| 日韩最新免费不卡| 欧美成人免费小视频| 午夜精品久久久久久久久久久久| 色偷偷av一区二区三区| 欧美性猛交xxxx免费看| 亚洲精品久久久久中文字幕二区| 美日韩精品免费视频| 欧日韩不卡在线视频| 日本免费在线精品|