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

隨筆-72  評(píng)論-126  文章-0  trackbacks-0
這就
#include "iostream"
#include 
"stdio.h"
#define Mod 10000
using namespace std;
int ku[] = {1,10,100,1000,10000};
class BigNum {
private:
    
int data[10000];
    
bool flag;
    
int len;
public:
    BigNum(){len 
= 1;flag = false;data[0= 0;}
    
~BigNum(){}
    BigNum(
int x) {
        
if(x < 0) {x = - x;flag = true;}
        
else{flag = false;}
        len 
= 0;
        
if(x == 0)data[len ++= x;
        
while(x) {data[len++= x % Mod;x /= Mod;}
    }
    BigNum(
char x[]) {
        
int end,l,cnt;
        
if(x[0== '-') {end = 1;flag = true;} 
        
else {end = 0;flag = false;}
        l 
= strlen(x);cnt = 3;len = -1;
        
for(l -- ; l >= end; l --)
            
if(cnt == 3) {cnt = 0;data[++len] = x[l] - '0';} 
            
else {cnt ++;data[len] = data[len] + (x[l] - '0'* ku[cnt];}
        len 
++;
    }
    
void Scanf(int x) {
        
if(x < 0) {x = - x;flag = true;} 
        
else flag = false;
        len 
= 0;
        
if(x == 0)data[len ++= x;
        
while(x) {data[len++= x % Mod;x /= Mod;}        
    }
    
void Scanf(char x[]) {
        
int end,l,cnt;
        
if(x[0== '-') {end = 1;flag = true;}
        
else {end = 0;flag = false;}
        l 
= strlen(x);cnt = 3;len = -1;
        
for(l -- ; l >= end; l --)
            
if(cnt == 3) {cnt = 0;data[++len] = x[l] - '0';} 
            
else {cnt ++;data[len] = data[len] + (x[l] - '0'* ku[cnt];}
        len 
++;
    }
    
void ChangeSymbol() {if(flag)flag = false;else flag = true;}
    
bool Zero(){return (len == 1 && data[0== 0);}
    friend 
bool operator == (BigNum & a, BigNum &b) {
        
if(a.len != b.len || a.flag != b.flag)return false;
        
for(int i = 0; i <a.len; i ++if(a.data[i] != b.data[i])return false;
        
return true;
    }
    friend 
bool operator == (BigNum & a,int & b) {BigNum c(b);return a == c;}
    friend 
bool operator > (BigNum & a,BigNum & b) {
        
if(!a.flag && b.flag)return true;
        
if(a.flag && !b.flag)return false;
        
if(!a.flag && !b.flag) {
            
if(a.len > b.len)return true;
            
if(a.len < b.len)return false;
            
for(int i = a.len - 1; i >= 0 ; i --)
                
if(a.data[i] > b.data[i])return true;
                
else if(a.data[i] < b.data[i])return false;
            
return false;
        }
        
if(a.len > b.len)return false;
        
if(a.len < b.len)return true;
        
for(int i = a.len - 1; i >= 0 ; i --)
            
if(a.data[i] > b.data[i])return false;
            
else if(a.data[i] < b.data[i])return true;
        
return false;
    }
    friend 
bool operator < (BigNum & a,BigNum & b) {return !(a > b) && !(a == b);}
    friend 
bool operator >= (BigNum & a,BigNum & b) {return (a > b) || (a == b);}
    friend 
bool operator <= (BigNum & a,BigNum &b) {return (a < b) || (a == b);}
    friend BigNum 
operator + (BigNum & a, BigNum &b) {
        BigNum c;
int i;
        
if(a.flag == b.flag) {
            c.flag 
= a.flag;
            
for(i = 0 ; i < b.len && i < a.len; i ++) c.data[i] = a.data[i] + b.data[i];
            
for( ; i < a.len ; i ++) c.data[i] = a.data[i];
            
for( ; i < b.len ; i ++) c.data[i] = b.data[i];
            
for(c.len = i , i = 0; i < c.len - 1; i ++) {if(c.data[i] >= Mod) {c.data[i] -= Mod;c.data[i+1+= i;}}
            
if(c.data[i] >= Mod) {c.data[i] -= Mod;c.data[i + 1= 1;c.len ++;}
        } 
else {
            BigNum buf;
            
if(a.flag) {a.ChangeSymbol();if(a > b) {c = a;c.flag = true;buf = b;} 
                
else if(a < b){c = b;c.flag = false;buf = a;} else {a.ChangeSymbol();c.len = 1;
                c.data[
0= 0;c.flag = false;return c;}a.ChangeSymbol();} 
            
else {b.ChangeSymbol();if(a > b) {c = a;c.flag = false;buf = b;}
                
else if (a < b){c = b;c.flag = true;buf = a;} else {b.ChangeSymbol();c.len = 1;
                c.data[
0= 0;c.flag = false;return c;}b.ChangeSymbol();}
            
for(i = 0;i < buf.len; i ++) {c.data[i] -= buf.data[i];if(c.data[i] < 0) {c.data[i] += Mod;c.data[i+1--;}}
            
for(i = c.len - 1; i >= 0 ; i --if(c.data[i])break;
            c.len 
= i + 1;
        }
        
return c;
    }
    friend BigNum 
operator + (BigNum & a, int & b) {BigNum c(b);return a + c;}
    friend BigNum 
operator - (BigNum & a,BigNum & b) {b.ChangeSymbol();BigNum c = a + b;b.ChangeSymbol();return c;}
    friend BigNum 
operator - (BigNum & a, int & b) {BigNum c(b);return a - c;}
    friend BigNum 
operator * (BigNum & a,BigNum & b) {
        BigNum c;
        
if(a.Zero() || b.Zero())return c;
        
if(a.flag == b.flag)c.flag = false;
        
else c.flag = true;
        c.len 
= a.len + b.len;
        memset(c.data,
0,sizeof(int)*(c.len));
        
for(int i = 0; i < a.len; i ++)
            
for(int j = 0; j < b.len; j ++) {int k = i + j;c.data[k] += a.data[i] * b.data[j];c.data[k+1+= c.data[k] / Mod;c.data[k] %= Mod;}
        
if(c.data[c.len-1== 0)c.len --;
        
return c;
    }
    friend BigNum 
operator * (BigNum & a, int & b) {BigNum c(b);return a * c;}
    friend 
int operator % (BigNum & a, int & b) {long long buf = 0;for(int i = a.len - 1; i >= 0; i --) {buf = (buf * Mod + a.data[i])%b;}return buf;}
    friend BigNum 
operator / (BigNum & a,int & b) {
        
long long buf = 0;int i;for(i = a.len - 1; i >= 0; i --) {buf = buf * Mod + a.data[i];if(buf >= b)break;}a.len = i + 1;a.data[i] = buf / b;buf %= b;
        
for(i -- ; i >= 0 ; i --) {buf = buf * Mod + a.data[i];a.data[i] = buf / b;buf = buf % b;}return a;
    }
    
void Printf() {if(flag)printf("-");printf("%d",data[len-1]);for(int i = len - 2; i >= 0 ; i --)printf("%04d",data[i]);puts("");}
};
int main() {
    BigNum num[
101];
    
int n;
    num[
0].Scanf(1);
    
for(int n = 0;n < 1;n ++) {
        
int buf = 4 * n + 2;
        num[n
+1= num[n] * buf;
        buf 
= n + 2;
        num[n
+1= num[n+1/ buf;
    }
    
while(scanf("%d",&n) == 1) {
        num[n].Printf();
    }
    
return 0;
}

posted on 2009-05-06 18:37 shǎ崽 閱讀(877) 評(píng)論(2)  編輯 收藏 引用

評(píng)論:
# re: 花了一天時(shí)間寫(xiě)的一個(gè)很挫很挫的大數(shù)模板 2009-05-07 10:06 | doxi
大牛,不知道什么地方給你留言,但是我今天問(wèn)的是另外的一個(gè)東西,就是hdu 八數(shù)碼的A*算法
http://acm.hdu.edu.cn/showproblem.php?pid=1043
可以把你的代碼給我么 ,謝謝, fanxicai2000@163.com

另外我還有一個(gè)問(wèn)題 對(duì)于一個(gè)情況 123456798 你的估價(jià)函數(shù)算出來(lái)的是 2 , 但是實(shí)際的是1 , 就是直接的把8 和9 交換, 這是為什么呢,
我們?cè)O(shè)計(jì)估價(jià)函數(shù)的時(shí)候,一定要現(xiàn)實(shí)的距離大于估價(jià)的距離,這樣才可以保證h(x)是單調(diào)遞增的,可以解釋一下么 ,
在線等你哦 ~!  回復(fù)  更多評(píng)論
  
# re: 花了一天時(shí)間寫(xiě)的一個(gè)很挫很挫的大數(shù)模板 2009-05-07 11:55 | shǎ崽
加下我QQ吧,主頁(yè)上有477627586
估價(jià)函數(shù)不是一個(gè)準(zhǔn)確的函數(shù)
這里設(shè)計(jì)的是每個(gè)數(shù)字離終點(diǎn)的距離,所以是2不是1  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三级午夜理伦三级中视频| 欧美日韩亚洲高清| 久久精品一本久久99精品| 欧美成人精品不卡视频在线观看| 国产毛片一区| 亚洲欧美成aⅴ人在线观看| 欧美黑人在线播放| 欧美一级网站| 国产精品亚洲美女av网站| 亚洲视频999| 亚洲精品国产无天堂网2021| 久久黄色网页| 国模精品娜娜一二三区| 欧美影院在线播放| 香蕉久久夜色精品| 国产一区高清视频| 老司机凹凸av亚洲导航| 久久日韩精品| 亚洲高清av在线| 蜜桃av噜噜一区| 你懂的国产精品| 亚洲精品在线观看免费| 亚洲国产成人精品女人久久久| 免费观看欧美在线视频的网站| 久久一区二区视频| 国产精品视区| 久久激情婷婷| 久久精品国产清自在天天线| 伊人久久男人天堂| 亚洲福利视频免费观看| 欧美日韩免费区域视频在线观看| 在线视频免费在线观看一区二区| 999在线观看精品免费不卡网站| 欧美日韩在线大尺度| 香蕉乱码成人久久天堂爱免费| 亚洲欧美日韩在线观看a三区| 好吊妞**欧美| 最新日韩中文字幕| 国产精品久久久久久久久动漫| 午夜精品影院| 久久亚洲综合色一区二区三区| 亚洲欧洲一区二区在线观看| 一区二区电影免费在线观看| 国产日韩欧美另类| 欧美高清hd18日本| 国产精品成人免费视频 | 香蕉亚洲视频| 久久久国产精品亚洲一区| 亚洲另类春色国产| 亚洲综合99| 日韩亚洲欧美成人| 欧美一级大片在线观看| 日韩一区二区福利| 亚洲综合精品四区| 亚洲美女精品久久| 午夜在线不卡| 一本久道综合久久精品| 销魂美女一区二区三区视频在线| 亚洲精品国产品国语在线app | 久久久精品性| 亚洲视频福利| 免费试看一区| 久久人人爽人人爽爽久久| 欧美日韩一区高清| 欧美电影免费观看| 国产一区二区毛片| 亚洲午夜国产一区99re久久| 91久久久久久| 久久久99国产精品免费| 亚洲网友自拍| 欧美精品一区二区三区久久久竹菊 | 亚洲欧美怡红院| 一本久道久久综合中文字幕| 久久久久国产精品麻豆ai换脸| 亚洲视频网站在线观看| 欧美成人视屏| 欧美~级网站不卡| 狠狠色噜噜狠狠色综合久| 亚洲一区二区成人在线观看| 日韩性生活视频| 欧美国产视频日韩| 一区二区三区高清视频在线观看| 久久国产精品一区二区三区四区 | 欧美成人一区二区三区| 国产视频不卡| 欧美在线免费播放| 欧美一二区视频| 国产精品大全| 亚洲视频中文字幕| 亚洲男人av电影| 国产精品videossex久久发布| 亚洲精品在线电影| 99re成人精品视频| 欧美日韩18| 日韩一区二区免费高清| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲精品在线二区| 一区二区三区精品视频| 欧美日韩成人一区| 夜夜嗨av色综合久久久综合网| 洋洋av久久久久久久一区| 欧美激情91| 日韩视频在线播放| 亚洲欧美日韩直播| 国产精品a久久久久久| 在线亚洲电影| 久久久久久国产精品mv| 精品不卡在线| 欧美激情一区二区三区 | 国产九九视频一区二区三区| 亚洲综合久久久久| 久久亚洲春色中文字幕| 在线视频观看日韩| 欧美大片免费观看| 亚洲美女视频网| 久久电影一区| 尤物99国产成人精品视频| 欧美成人免费在线观看| 9人人澡人人爽人人精品| 欧美一级视频| 亚洲第一视频网站| 欧美视频精品在线| 欧美亚洲自偷自偷| 亚洲第一网站| 亚洲欧美中文字幕| 亚洲福利小视频| 欧美午夜寂寞影院| 久久精品国产亚洲一区二区| 亚洲第一色在线| 午夜亚洲视频| 亚洲欧洲另类国产综合| 国产精品免费一区豆花| 老司机亚洲精品| 亚洲午夜激情网站| 欧美黑人多人双交| 欧美一级久久久| 夜夜嗨av色一区二区不卡| 国产欧美日韩精品丝袜高跟鞋| 噜噜爱69成人精品| 亚洲综合另类| 亚洲精品美女在线| 老司机67194精品线观看| 亚洲调教视频在线观看| 亚洲高清不卡在线观看| 国产精品一二三四区| 欧美精品一区二区三区四区| 麻豆精品精华液| 久久国产精品一区二区三区四区| 亚洲黄色成人久久久| 国产女人精品视频| 欧美日韩www| 久久人人爽人人爽爽久久| 亚洲自啪免费| 日韩午夜激情| 亚洲国产一区二区在线| 久久男人资源视频| 性欧美8khd高清极品| 99re66热这里只有精品3直播 | 韩国av一区二区三区四区| 国产精品国产三级国产a| 欧美激情自拍| 欧美**人妖| 久久人体大胆视频| 久久久久久成人| 欧美在线视频观看| 午夜精品久久久久久久99黑人| 一区二区三区精品在线| 亚洲精品少妇| 亚洲日本一区二区三区| 亚洲二区三区四区| 亚洲国产日韩欧美| 亚洲人屁股眼子交8| 亚洲激情校园春色| 亚洲激情av| 亚洲欧洲在线一区| 亚洲人体影院| 91久久精品www人人做人人爽| 媚黑女一区二区| 欧美aaaaaaaa牛牛影院| 久久色在线观看| 老牛国产精品一区的观看方式| 麻豆国产va免费精品高清在线| 久久亚洲一区二区| 欧美69视频| 亚洲精品123区| 亚洲精品在线视频| 正在播放亚洲一区| 亚洲免费在线视频| 校园激情久久| 久久久久久9999| 欧美va亚洲va香蕉在线| 欧美区一区二区三区| 欧美亚洲成人免费| 国产在线精品二区| 91久久精品日日躁夜夜躁国产| 99视频超级精品| 性做久久久久久免费观看欧美| 久久久精品性| 亚洲国产精品一区二区久 | 国产精品激情|