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

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

CCF201412-3 集合競價(100分)

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

問題鏈接: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
色妞色视频一区二区三区四区| 97精品国产97久久久久久免费| 国产精品嫩草视频| 亚洲r级在线观看| 欧美日韩美女在线| 欧美国产视频一区二区| 国内精品国产三级国产在线专| 亚洲欧洲国产伦综合| 91美女福利视频高清| 久久久这里只有精品视频| 日韩成人av在线| 成人写真视频福利网| 狠狠躁夜夜躁人人爽超碰91| 在线观看欧美www| 国内精品久久久| 性色av一区二区三区| 欧美日韩美女在线| 精品久久久久久久久国产字幕| 久久精品国产亚洲精品2020| 国产精品久久久久久久久久久久久久| 国产日韩av在线播放| 欧美丰满少妇xxxxx做受| 欧美精品xxx| 国产精品亚洲аv天堂网| 久久久国产一区| 久久这里只有精品99| 国内精品久久久久影院 日本资源| 欧美高清在线播放| 日韩av影院在线观看| 久久久精品视频在线观看| 91精品国产91久久久久福利| 欧美国产在线视频| 国产欧美日韩视频| 日韩欧美在线一区| 国产在线日韩在线| 性欧美办公室18xxxxhd| 国产成人avxxxxx在线看| 欧美中文字幕在线视频| 亚洲人成电影在线播放| 亚洲精品中文字幕女同| 欧美日韩亚洲系列| 96精品久久久久中文字幕| 主播福利视频一区| 国产精品成av人在线视午夜片| 精品人伦一区二区三区蜜桃免费| 中文字幕在线视频日韩| 色综合伊人色综合网站| 91视频88av| 精品色蜜蜜精品视频在线观看| 日韩成人在线播放| 欧美黑人狂野猛交老妇| 欧美久久精品一级黑人c片| 久久久在线视频| 国产精品私拍pans大尺度在线| 中国日韩欧美久久久久久久久| 国产精品99蜜臀久久不卡二区| 国产视频欧美视频| 日韩精品免费在线| 亚洲人线精品午夜| 国产精品美女无圣光视频| 欧美成人激情视频免费观看| 最好看的2019的中文字幕视频| 66m—66摸成人免费视频| 麻豆国产精品va在线观看不卡| 91精品国产精品| 国产精品视频自拍| 91久久夜色精品国产网站| 欧美激情免费在线| 一本大道亚洲视频| 国内精品视频一区| 久久久久久国产精品美女| 国产精品久久久久高潮| 欧美激情视频在线观看| 国产成人av在线| 国产自产女人91一区在线观看| 精品福利一区二区| 亚洲精品aⅴ中文字幕乱码| 成人性生交大片免费看视频直播| 在线日韩中文字幕| 欧美成aaa人片免费看| 亚洲欧美国内爽妇网| 国产精品视频1区| 91精品国产91| 欧美日韩一区二区精品| 欧美一区二区影院| 97精品久久久中文字幕免费| 久久偷看各类女兵18女厕嘘嘘| 国产精品美女主播| 国语自产精品视频在线看| 91精品国产自产91精品| 成人网在线视频| 91精品国产成人www| 国产精品欧美久久久| 国产一区二区动漫| 久久久欧美一区二区| 精品女厕一区二区三区| 91国内免费在线视频| 欧美极品在线视频| 亚洲视频自拍偷拍| 久久精品国产欧美激情| 亚洲免费视频观看| 亚洲成人精品视频| 亚洲免费视频网站| 欧美在线视频一二三| 欧美成人精品不卡视频在线观看| 欧美亚洲国产视频| 欧美激情欧美激情在线五月| 欧美在线免费观看| 一本大道久久加勒比香蕉| 日韩欧美亚洲范冰冰与中字| 国产一区二区在线播放| 国产精品美女免费视频| 欧美国产精品va在线观看| 欧美精品中文字幕一区| 91色视频在线观看| 亚洲毛茸茸少妇高潮呻吟| 国产精品美女无圣光视频| 日韩欧美在线第一页| 91在线观看免费网站| 欧美中在线观看| 日韩在线国产精品| 久久九九全国免费精品观看| 欧美性猛交xxxxx水多| 亚洲欧美精品中文字幕在线| 国产精品无av码在线观看| 国产精品久久久久av免费| 国产精品www色诱视频| 国产一区二区三区日韩欧美| 国产性色av一区二区| 91日本在线视频| 欧美日韩激情视频8区| 国产精品欧美风情| 亚洲欧洲在线看| 国产精品九九久久久久久久| 欧美成人自拍视频| 亚洲国产精品人人爽夜夜爽| 亚洲美女喷白浆| 黄色一区二区在线| 一区二区三区视频观看| 欧美尺度大的性做爰视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美精品18videosex性欧美| 日韩av大片免费看| 国产精品尤物福利片在线观看| 亚洲国产女人aaa毛片在线| 欧美大片大片在线播放| 精品国产一区久久久| 日韩美女中文字幕| 91精品久久久久久久久不口人| 国产精品免费观看在线| 97精品视频在线观看| 亚洲性无码av在线| 九九九热精品免费视频观看网站| 久久国产加勒比精品无码| 欧美第一黄色网| 日韩av网站电影| 亚洲自拍小视频| 九九热这里只有精品免费看| 久久在线精品视频| 亚洲性线免费观看视频成熟| 国产亚洲人成a一在线v站| 亚洲精品第一国产综合精品| 美日韩丰满少妇在线观看| 欧美亚洲成人精品|