posts - 4,  comments - 0,  trackbacks - 0
               摘要: 寫個kd-tree模板...無它UPD: 以前寫的代碼太難看啦,趁去南京賽區之前整理模板重寫了一下... Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 //hdu4347 KD Tree&n...  閱讀全文
          posted @ 2012-08-13 22:35 NKU->lkjslkjdlk 閱讀(676) | 評論 (0)編輯 收藏
               摘要: 題目來源:古老的智力題請回答下面10個問題,你的回答應保證每題惟有你的選擇是正確的。(1)第一個答案是b的問題是哪一個?(a) 2    (b) 3    (c) 4    (d) 5    (e) 6(2)恰好有兩個連...  閱讀全文
          posted @ 2012-01-19 19:59 NKU->lkjslkjdlk 閱讀(219) | 評論 (0)編輯 收藏
          因為題目數據較小,所以可以直接模擬。
          每讀入一個命令所要進行的操作:
          如果是buy,則該種價格的買入數+ni,將該種價格加入到買入價格的集合中。
          如果是sell,則該種價格的賣出數+mi,將該種價格加入到賣出價格的集合中。
           
          然后進行銷售的操作:
          比較最低的賣出價格和最高的買入價格,
          如果前者小于等于后者則:
          設最低賣出價格的賣出數為a,最高買入價格的買入數為b.
          則a=a-min(a,b),b=b-min(a,b)
          如果其中賣出數變為0,則在賣出價格集合中刪去該種賣出價格。買入數同理。
          記錄股票價格
          ------------------------------------------------------------------------------------------------------
          直到最低的賣出價格比最高的買入價格要高或者其中一個集合為空時跳出。
           
          將余下來最低的賣出數不為0的賣出價格輸出,如果賣出價格集合為空就輸出”-”
          買入價格同理,最后再輸出股票價格
          這樣就完成了一次命令的操作
          注意賣出價格集合為空和買入價格集合為空時的情況
           
          代碼如下:
           1 //by NKU lkjslkjdlk
           2 #include<cstdio>
           3 #include<cstring>
           4 #include<set>
           5 using namespace std;
           6 inline int min(int x,int y){return x<y?x:y;}
           7 int cas,or_num,sto_pri,i,bid[1005],ask[1005],trade_num,trade_pri,min_de;
           8 char order[100],tmp[10],bs[5],ch;
           9 set<int> bids,asks;set<int>::reverse_iterator biter;set<int>::iterator aiter;
          10 void print(){
          11     if(asks.empty())printf("");else printf("%d ",*asks.begin());
          12     if(bids.empty())    printf("");else printf("%d ",*bids.rbegin());
          13     if(sto_pri==-1)    printf("-\n");else printf("%d\n",sto_pri);
          14 }
          15 void sell(){
          16     while(1){
          17         biter=bids.rbegin();aiter=asks.begin();
          18         if(*biter>=*aiter){
          19             min_de=min(bid[*biter],ask[*aiter]);
          20             bid[*biter]-=min_de;ask[*aiter]-=min_de;
          21             sto_pri=*aiter;
          22             if(bid[*biter]==0)    bids.erase(*biter);
          23             if(ask[*aiter]==0)    asks.erase(*aiter);
          24         }    
          25         if(asks.empty()||bids.empty())    break;
          26         if(*asks.begin()>*bids.rbegin())    break;
          27     }
          28 }
          29 int main()
          30 {
          31     scanf("%d",&cas);
          32     while(cas--){
          33         bids.clear();asks.clear();
          34         memset(bid,0,sizeof(bid));memset(ask,0,sizeof(ask));
          35         scanf("%d%c",&or_num,&ch);
          36         for(i=0,sto_pri=-1;i<or_num;i++){
          37             gets(order);sscanf(order,"%s %d %s %s %d",bs,&trade_num,tmp,tmp,&trade_pri);
          38             if(!strcmp(bs,"buy")){
          39                 bids.insert(trade_pri);bid[trade_pri]+=trade_num;
          40                 if(!asks.empty()){sell();print();}else print();
          41             }
          42             else{
          43                 asks.insert(trade_pri);ask[trade_pri]+=trade_num;
          44                 if(!bids.empty()){sell();print();}else print();
          45             }    
          46         }
          47     }
          48     return 0;
          49 }


          posted @ 2011-10-11 00:50 NKU->lkjslkjdlk 閱讀(275) | 評論 (0)編輯 收藏
               摘要: 感謝會長君的指導...現在格式應該正常了... 題目大意:給出一種叫做“大王鮑”的桌游,給出游戲規則和雙方起始的位置,問先走一方能否獲勝...如果不能,問在先走一方走后,后手一方有無必勝策略。 如卓峰君所言...是一道神模擬題...把規則全都寫對了就好... 判斷白贏的方法:檢測棋盤邊上有沒有黑色棋子;如果有,往六個方向搜尋,記錄連成一線的黑色棋子數目;如果黑色棋子數...  閱讀全文
          posted @ 2011-10-11 00:39 NKU->lkjslkjdlk 閱讀(746) | 評論 (0)編輯 收藏
          僅列出標題  
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉定区| 阳曲县| 乌拉特后旗| 子长县| 合江县| 历史| 临沂市| 贵港市| 民丰县| 烟台市| 常宁市| 永城市| 石棉县| 祁东县| 荣成市| 玉环县| 浦县| 长岛县| 万全县| 轮台县| 团风县| 太湖县| 玉树县| 东阳市| 昌吉市| 南昌县| 江城| 钦州市| 赤城县| 沙洋县| 康乐县| 南昌县| 县级市| 丰城市| 兴安县| 楚雄市| 达日县| 通道| 瑞安市| 无棣县| 钦州市|