青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-145  評論-173  文章-70  trackbacks-0
最近看很多ACM大牛,感覺自己在算法方面很菜,為此有時間做做ACM題目吧,從最簡單的開始,慢慢搞。
昨天看到了杭電ACM的1002題,然后想了會,把大數的加法部分做了,然后今天具體就完成了輸入和計算的處理模塊。提交了幾次都出現了presentation error問題,發現對于結果的格式要求還是很嚴格的。為此修改了幾次,終于過了。發現通過率才18%,還是有點自豪感,雖然比較菜,但是還是慢慢搞吧。

#include <iostream>
#include 
<string>
#include 
<vector>
using namespace std;

int *sum(int *a,int aNum,int *b,int bNum,int &FirstFlag)//人為的讓左邊數組較長(大) 
{
    
int maxNum = aNum;
    
int *= new int [maxNum];    //可能有進位
    int flag = 0;
    
for(int i = 0; i < maxNum; i++)
    {
        
if(i < bNum )
        {
            
if( (a[aNum - i - 1+ b[bNum - i - 1+ flag) >= 10 )
            {
                c[aNum 
- i - 1= a[aNum - i - 1+ b[bNum - i - 1+ flag - 10;
                flag 
= 1;    //flag一定是在計算之后得到的
            }
            
else
            {
                c[aNum 
- i - 1= a[aNum - i - 1+ b[bNum - i - 1+ flag;
                flag 
= 0;
            }
        }
        
else
        {
            
if( (a[aNum - i - 1+ flag) >= 10)
            {
                c[aNum 
- i - 1= a[aNum - i - 1+ flag - 10;
                flag 
= 1;
            }
            
else
            {
                c[aNum 
- i - 1= a[aNum - i - 1+ flag;
                flag 
= 0;
            }
            
        }
    }
    
if(flag == 1)
        FirstFlag 
= 1;
    
return c;
}

int main()
{
  
int number;
  cin 
>> number;
  
int i = 0;
  
string a,b;
  vector
<string>  vec;
  
while(i < number)
  {
      cin 
>> a >> b;
      vec.push_back(a);
      vec.push_back(b);
      i
++;
   }
  
for(i = 0; i <  number; i++)
  {
     
// cout << vec[2 * i] << "      "<< vec[2 * i + 1] << endl;轉換成數組
     int aNum = vec[2 * i].length();
     
int bNum = vec[2 * i + 1].length(); 
     
int maxNum = (aNum > bNum) ? aNum : bNum;
     
int *= new int [maxNum];
     
int *= new int [aNum];
     
int *= new int [bNum];
     
for(int k = 0; k < aNum; k++)
     {
         a[k] 
= vec[2 * i].at(k) - '0';    
      }
      
for(int j = 0; j < bNum; j++)
      {
          b[j] 
= vec[2 * i + 1].at(j) - '0';
      }
       
int FirstFlag = 0;
     
if(aNum > bNum)
     {
        c 
= sum(a,aNum,b,bNum,FirstFlag);
        cout 
<< "Case " << i+1 << ":" << endl;
        cout 
<< vec[2 * i] << " + " << vec[2 * i + 1<< " = ";
        
if(FirstFlag == 1)
            cout 
<< FirstFlag ;
        
for(int m = 0; m < aNum; m++)
            cout 
<< c[m];
        
        cout 
<< endl;
        
if(i != (number-1))
            cout 
<< endl;
     }
     
else
     {
        c 
= sum(b,bNum,a,aNum,FirstFlag);
        cout 
<< "Case " << i+1 << ":"<< endl;
        cout 
<< vec[2 * i] << " + " << vec[2 * i + 1<< " = ";
        
if(FirstFlag == 1)
            cout 
<< FirstFlag ;
        
for(int m = 0; m < bNum; m++)
            cout 
<< c[m];
        
        cout 
<< endl;
        
if(i != (number-1))
            cout 
<< endl;
     }
     
     delete []a;
     delete []b;
     delete []c; 
  }    
  
return 0;
}
     

總結來說就是:
(1)先從一個個模塊開始吧,比如大數加法函數,然后再考慮輸入格式,讀取,輸出等等其他。
(2)大數的話還是有很多要考慮的,進位的問題,補齊等問題,開始寫這個函數的時候都沒有注意到,真夠菜的,改了幾遍才過。
(3)效率啥的覺得不高,各位能夠優化的歡迎交流,另外關于ACM有興趣的同學可以討論下,我才剛入門,歡迎指教。



posted on 2011-06-12 20:09 deercoder 閱讀(5225) 評論(2)  編輯 收藏 引用 所屬分類: ACM

評論:
# re: 杭電ACM 1002題--大數加法 2011-06-13 17:49 | 路人
寫得不好
思路不清
看劉汝佳的白書吧
入門起點不能太低  回復  更多評論
  
# re: 杭電ACM 1002題--大數加法 2011-06-14 21:42 | 劉暢
@路人
謝謝,目前正在看,爭取先做些水題來入手下。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            在线成人欧美| 亚洲精品一区二区三区av| 国产精品久久国产精品99gif| 国产一区二区你懂的| 亚洲午夜激情网站| 亚洲精品国产系列| 久久久99爱| 国产女人精品视频| 亚洲午夜精品久久久久久浪潮 | 亚洲高清三级视频| 另类av一区二区| 在线免费观看日本一区| 久久视频在线看| 久久久国产精品一区二区中文 | 韩国三级电影久久久久久| 欧美在线免费播放| 欧美中文字幕不卡| 伊人久久大香线| 欧美69wwwcom| 欧美/亚洲一区| 快she精品国产999| 久久久久久久一区二区| 国产一区二区欧美| 久久免费一区| 久久亚洲图片| 亚洲精品国产精品国产自| 欧美激情视频在线播放| 欧美激情亚洲| 午夜精品99久久免费| 亚洲欧美日韩天堂| 黄色一区二区三区四区| 欧美国产欧美综合| 欧美日韩一区二区三区在线观看免| 亚洲一区二区三区四区中文| 亚洲在线成人| 在线看日韩av| 9色精品在线| 国产日韩视频| 亚洲国产天堂久久综合| 国产精品电影网站| 老妇喷水一区二区三区| 欧美日韩a区| 久久免费黄色| 欧美日韩一区高清| 看欧美日韩国产| 欧美午夜精品久久久| 久久久蜜桃精品| 欧美日韩三区| 欧美成人69av| 国产精品一区在线播放| 亚洲激情国产精品| 国产亚洲精品久久久| 亚洲精品人人| 激情综合激情| 亚洲神马久久| 亚洲欧洲美洲综合色网| 亚洲视频中文| 亚洲欧洲综合另类| 欧美一区二区三区四区视频 | 欧美一区2区三区4区公司二百| 久久精品一区二区国产| 中文精品99久久国产香蕉| 久久久久久亚洲精品杨幂换脸 | 久久久亚洲午夜电影| 欧美精品日韩精品| 麻豆成人在线| 国产精品亚洲精品| 亚洲人精品午夜| 在线观看一区欧美| 亚洲欧美日韩精品久久久久| 一区二区av在线| 牛牛精品成人免费视频| 久久久久久午夜| 国产精品日本一区二区 | 久久综合色天天久久综合图片| 午夜精品久久| 欧美三级小说| 亚洲剧情一区二区| 亚洲大片在线观看| 亚洲激情精品| 久久精品国产久精国产一老狼| 一区二区三区www| 麻豆精品传媒视频| 美女精品一区| 国产网站欧美日韩免费精品在线观看 | 激情自拍一区| 午夜一级久久| 欧美一区二区三区啪啪| 国产精品国产三级国产普通话三级 | 亚洲已满18点击进入久久| 欧美成人影音| 亚洲国产美女| 99re6这里只有精品视频在线观看| 久久综合五月| 亚洲高清不卡| 日韩午夜激情av| 欧美精品久久久久久| 亚洲三级影片| 亚洲午夜视频在线观看| 欧美午夜视频在线| 中文网丁香综合网| 欧美一区二区三区四区在线观看地址| 欧美四级剧情无删版影片| 在线一区二区三区四区五区| 亚洲欧美春色| 国产欧美日韩麻豆91| 久久gogo国模裸体人体| 鲁大师成人一区二区三区 | 亚洲人成毛片在线播放女女| 亚洲免费观看视频| 欧美日韩p片| 亚洲欧美三级在线| 老司机一区二区三区| 亚洲日韩中文字幕在线播放| 欧美日韩在线视频一区二区| 亚洲尤物影院| 欧美va亚洲va日韩∨a综合色| 亚洲精品美女在线| 国产精品免费视频xxxx| 久久精品噜噜噜成人av农村| 欧美激情第六页| 亚洲特黄一级片| 国产午夜精品全部视频播放| 久久婷婷久久| 一本久道综合久久精品| 久久久亚洲国产天美传媒修理工| 91久久久久久| 国产精品久久久久久亚洲调教| 久久激情综合网| 亚洲精品在线免费| 久久精品91久久香蕉加勒比| 亚洲精品激情| 国产亚洲亚洲| 欧美日韩mv| 久久午夜电影网| 中文欧美在线视频| 久久综合色婷婷| 亚洲午夜日本在线观看| 国产在线视频欧美| 欧美日韩美女在线| 久久久99久久精品女同性| 宅男精品视频| 亚洲激情婷婷| 欧美日韩成人在线| 久久亚洲私人国产精品va| 亚洲国产天堂久久综合| 国产精品久久国产三级国电话系列| 久久久国产成人精品| 亚洲图色在线| 亚洲欧洲另类| 蜜桃久久av一区| 久久国产精品99国产| 亚洲特色特黄| 99国产精品| 亚洲激情二区| 一色屋精品视频在线看| 国产精品美女久久久久久2018| 欧美高清在线视频| 久久亚洲视频| 久久精品国产一区二区三区| 亚洲尤物在线视频观看| 一区二区三区视频在线观看| 亚洲三级观看| 亚洲欧洲日本mm| 亚洲福利小视频| 免费短视频成人日韩| 久久久久免费| 久久精品国产综合精品| 小嫩嫩精品导航| 亚洲免费人成在线视频观看| 99精品久久| 亚洲另类黄色| 亚洲精品中文字幕在线| 亚洲日韩欧美视频| 亚洲精品美女久久7777777| 91久久在线观看| 亚洲黄色一区| 亚洲国产成人在线播放| 亚洲大胆人体视频| 亚洲国产高清在线观看视频| 亚洲大片av| 91久久精品一区二区别| 亚洲精品乱码久久久久久黑人| 91久久久久| 一区二区日韩免费看| 一区二区三区国产盗摄| 在线一区二区日韩| 亚洲一区二区三区激情| 亚洲欧美一区二区三区极速播放 | 中国成人在线视频| 亚洲午夜视频在线观看| 性色av一区二区三区| 欧美一级淫片播放口| 久久另类ts人妖一区二区| 欧美岛国激情| 日韩视频中文字幕| 亚洲欧美色一区| 久久婷婷蜜乳一本欲蜜臀| 欧美黑人在线观看| 欧美性做爰毛片|