• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 43,  comments - 9,  trackbacks - 0

            http://acm.cs.bupt.cn/onlinejudge/showproblem.php?problem_id=1379

            給一個長度10MB的大數n,要求計算ceil(n/2),內存只有1000K,顯然不能開數組,要邊讀邊除
            通常的除法只要設個變量記錄每位是否整除(mod).此外題目要求不輸出前導0,再設個bool值記錄(zero)
            特殊之處在于向上取整.舉個例子:1999/2=1000,顯然直接除一位輸出一位有問題
            關鍵之處在于增加一個變量記錄連續的9的個數(cnt9).如果處理到非9的位,或者輸入文件結束,就分情況輸出前面最近一位非9數除的結果,然后循環輸出9除的結果.因此,還要一個變量記錄上一位除得的商(co)

             1 /*
             2     記錄連續9的個數,為了使輸入末尾有連續9時向上取整
             3     co記錄上位除的商
             4     mod記錄上位除的余數
             5     cnt9記錄連續的9的個數
             6     zero記錄前導是否為0 
             7     當前位不是9時,輸出之前的結果,并將當前位+mod*5存入co
             8     當前位是9時,cnt9++
             9     輸入結束時,處理末尾幾位 
            10     注意:
            11         輸入為0時
            12         以9開頭時
            13         以x9開頭時 
            14     
            15     幾組數據: 
            16     000319900099 159950050
            17     199 100
            18     0199 100
            19     1998 999
            20     99 50
            21     0 0
            22 */
            23 #include <iostream>
            24 using namespace std;
            25 int main(){
            26     bool zero;
            27     int mod,cnt9;
            28     char co,cn,ct;
            29     zero=true; mod=0; co=0; cnt9=0;
            30     while(isdigit(cn=getchar())){
            31         cn-='0';
            32         if(cn!=9){
            33             if(!zero||co){
            34                 zero=false;
            35                 putchar(co+'0');
            36             }
            37             if(cnt9)zero=false;
            38             while(cnt9--){
            39                 putchar(4+5*mod+'0');
            40                 mod=1;
            41             }
            42             cnt9=0;
            43             co=(cn>>1)+5*mod;
            44             mod=cn&1;
            45         }
            46         else{
            47             cnt9++;
            48         }
            49     }
            50     if(!zero||co||mod){
            51         zero=false;
            52         putchar(co+mod+'0');
            53     }
            54     mod=1-mod;
            55     if(cnt9)zero=false;
            56     while(cnt9--){
            57         putchar(5*mod+'0');
            58         mod=0;
            59     }
            60     //輸入0的情況!
            61     if(zero)putchar('0'); 
            62     putchar('\n');
            63     return 0;
            64 }
            65 

            posted on 2009-03-25 22:52 wolf5x 閱讀(267) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
            <2009年9月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            "Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

            留言簿(3)

            隨筆分類(59)

            隨筆檔案(43)

            cows

            搜索

            •  

            最新評論

            評論排行榜

            丰满少妇人妻久久久久久| 伊人热人久久中文字幕| 亚洲美日韩Av中文字幕无码久久久妻妇 | 97久久婷婷五月综合色d啪蜜芽 | 91精品国产色综合久久| 久久99精品久久久久久噜噜| 狠狠色丁香久久婷婷综合图片| 亚洲香蕉网久久综合影视 | 亚洲中文久久精品无码ww16| 久久99国产精品久久99| 亚洲精品无码久久久| 国产精品欧美久久久天天影视| 中文字幕精品久久| 国产精品VIDEOSSEX久久发布| 中文字幕热久久久久久久| 久久精品国产精品国产精品污| 亚洲人成网站999久久久综合| 久久精品人人做人人爽97 | 91久久婷婷国产综合精品青草| 久久99精品国产麻豆蜜芽| 国产精品99久久99久久久| 亚洲欧洲中文日韩久久AV乱码| 91精品国产91热久久久久福利 | 久久66热人妻偷产精品9| 久久久久亚洲国产| 久久国产成人午夜aⅴ影院| 久久天天躁狠狠躁夜夜avapp| 偷偷做久久久久网站| 怡红院日本一道日本久久| 日本强好片久久久久久AAA| 怡红院日本一道日本久久| 办公室久久精品| 国産精品久久久久久久| 久久国产精品久久| 久久被窝电影亚洲爽爽爽| 久久精品成人免费看| 久久精品国产99国产精偷| 精品久久久久久国产免费了| 久久99精品久久久久久野外| 久久精品无码av| 一本久久a久久精品综合香蕉|