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

雁過無痕

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

N個數計算24

問題:

    N113之間的自然數,找出所有能通過加減乘除計算(每個數有且只能用一次)得到24的組合

 

計算24點常用的算法有:① 任取兩個數,計算后,將結果放回去,再從剩下的數中任取兩個,如此反復直到只剩下一個數;② 先構建前綴/后綴表達式,再計算該表達式;③ 用集合保存中間結果,集合間兩兩進行合并計算得到新集合(或者對給定的一個集合,對其所有的子集合進行合并計算)。

本文采用第一種方法。定義六種操作符:ADDSUBMULDIVRSUBRDIV,分別對應加、減、乘、除、反減和反除(反減/除:先交換兩個數,再減/除)。

顯然,取兩個數計算時,六種計算結果可能有重復,可以對這6個結果進行去重(實際上,只要分別對加減(ADDSUBRSUB)和乘除(MULDIVRDIV)的3個計算結果進行去重判斷就可以了,效率和對6個結果去重相差不大)。

另外一種剪枝方法:保存每個數上次計算時所用的操作符(初始值為空)。所取的兩個數:

若某個數的上次操作符為減(SUBRSUB),那么不進行加減(ADDSUBRSUB)計算。

若某個數的上次操作符為除(DIVRDIV),那么不進行乘除(MULDIVRDIV)計算。

比如:取的兩個數為 a-b c(c的上次操作符任意),如果進行加減計算的話,

a-b+c  c+a-b重復,

c-(a-b)c+b-a重復

a-b-c  c+b RSUB a重復

也就是說,上次操作符為減的,進行加減計算時,總可以轉為某個上次操作符為加的表達式,因而可以不計算。同樣,上次操作符為除的,不進行乘除計算。

當然,還可以考慮記錄位置進行剪枝,這樣避免a+b+ca+c+b都進行計算。但要注意的是:在給定的組合無解時,越多的剪枝方法,極有可能提高搜索效率,但在給定的組合有解時,很可能反而降低搜索效率

另外,對有解時輸出的表達式的處理對程序的性能影響很大。如果每次計算都保存對應的表達式,會進行大量的字符串操作,嚴重影響性能。實際上,每次計算只要保存取出的兩個數的位置和所進行計算的操作符就夠了,最終需要輸出表達式時,只要模擬一下遞歸函數調用過程,進行相應的字符串操作。

下面是程序(gcc 4.5,優化參數-O2)在T4200/2G單核下運行的結果,計算10個數,646646個組合只用了不到13分鐘。


 
N113之間的數的所有組合,計算24

N

4

5

6

7

8

9

10

時間(ms)

78

610

4157

19593

160922

173766

764328

有解組合數

1362

6104

18554

50386

125969

293930

646646

總組合

1820

6188

18564

50388

125970

293930

646646

總表達式

1124776

15656645

105278906

492587616

3760744504

4535030813

19912345238

表達式A

457549

11864184

88679768

409129896

1173803224

4535030813

19912345238

表達式B

667227

3792461

16599138

83457720

2586941280

0

0

總函數調用

1482939

20950792

141892513

669790534

5258218577

6112529945

26948662625

函數調用A

603206

15849306

119160441

551913059

1576965280

6112529945

26948662625

函數調用B

879733

5101486

22732072

117877475

3681253297

0

0

其中:表達式A/B、函數調用A/B為:給定的n個數有/無解時,所處理的表達式總數和函數調用總次數。

 

    N=8N=9,兩個所用時間只相差13秒,這是由于N8時,有一個組合(81)無解,判斷這個組合無解需110多秒,而計算剩下的125969個組合還不要50秒。


程序代碼:

24.cpp
posted on 2010-08-15 23:20 flyinghearts 閱讀(2369) 評論(0)  編輯 收藏 引用 所屬分類: 算法編程之美C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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精品久久久画质超高清| 在线国产日韩| 亚洲精品视频免费观看| 国产精品日韩在线观看| 亚洲一区视频在线| 亚洲一区二区精品视频| 国产亚洲欧美一级| 亚洲第一精品夜夜躁人人躁| 欧美日韩国产成人在线| 亚洲欧美日韩视频二区| 久久精品最新地址| 香港久久久电影| 国产亚洲精品激情久久| 在线观看成人小视频| 香蕉精品999视频一区二区| 性亚洲最疯狂xxxx高清| 亚洲电影免费观看高清| 亚洲国产另类久久精品| 欧美日韩国产成人精品| 性亚洲最疯狂xxxx高清| 免费久久精品视频| 亚洲一区二区在线播放| 久久成年人视频| 一本色道久久加勒比88综合| 午夜伦欧美伦电影理论片| 日韩亚洲欧美一区二区三区| 亚洲欧美日韩精品在线| 亚洲久色影视| 99在线精品观看| 免费黄网站欧美| 久久久999| 99视频超级精品| 欧美制服丝袜第一页| 亚洲精品久久久久久久久| 亚洲精品你懂的| 免费视频一区| 欧美视频免费| 欧美成人中文| 国产午夜精品一区理论片飘花| 亚洲国产老妈| 在线观看亚洲视频啊啊啊啊| 亚洲免费在线观看视频| 正在播放欧美一区| 欧美国产一区二区| 能在线观看的日韩av| 国产亚洲综合在线| 亚洲欧美网站| 欧美在线在线| 国产欧亚日韩视频| 亚洲一区二区三区四区中文| 亚洲天堂成人在线视频| 欧美精品v国产精品v日韩精品| 国产欧美一区二区在线观看| 日韩视频免费观看| 欧美大尺度在线| 美女视频网站黄色亚洲| 国产一区二区三区奇米久涩 | 国产欧美一区二区三区久久| 一区二区三区四区五区在线| 一本一本久久a久久精品综合麻豆| 美女精品在线观看| 欧美激情在线播放| 亚洲精品自在在线观看| 欧美激情综合五月色丁香| 欧美国产视频日韩| 亚洲黄网站在线观看| 蜜臀av在线播放一区二区三区| 免费日韩av电影| 亚洲国产综合91精品麻豆| 蜜乳av另类精品一区二区| 亚洲黄色尤物视频| 99riav久久精品riav| 欧美日韩精品久久| 亚洲婷婷综合久久一本伊一区| 亚洲一区在线看| 国产日韩欧美精品在线| 久久精品一区二区三区四区 | 亚洲免费视频中文字幕| 国产精品一二一区| 亚洲国产欧美一区| 蜜臀99久久精品久久久久久软件| 日韩视频免费观看| 欧美日韩国产精品自在自线| 亚洲视频综合在线| 久久婷婷久久一区二区三区| 亚洲国产成人一区| 欧美日韩国产在线| 亚洲午夜激情网站| 久久亚洲影音av资源网| 亚洲精品美女久久7777777| 欧美日韩国产综合视频在线观看 | 亚洲一区二区三区精品动漫| 国产伦理一区| 久久综合精品国产一区二区三区| 亚洲黄色天堂| 午夜亚洲伦理| 亚洲二区在线| 欧美日本不卡视频| 99精品视频免费观看视频| 午夜在线成人av| 蜜桃av综合| 日韩网站在线观看| 国产偷国产偷亚洲高清97cao| 欧美福利视频在线观看| 香蕉久久国产| 日韩图片一区| 欧美成人免费全部| 欧美在线视频观看| 艳女tv在线观看国产一区| 国产一区二区三区高清播放| 欧美揉bbbbb揉bbbbb| 久久久久久久久久看片| 亚洲一区二区三区涩| 亚洲精品美女在线观看播放| 蜜月aⅴ免费一区二区三区| 欧美一级网站| 亚洲少妇一区| 99国产精品一区| 伊人久久男人天堂| 国产欧美在线播放| 国产精品亚洲片夜色在线| 欧美日韩精品福利| 欧美日韩国产va另类| 奶水喷射视频一区| 久久在线播放| 久久久之久亚州精品露出| 午夜在线精品偷拍| 亚洲欧美成人网| 亚洲综合精品自拍| 一区二区三区日韩在线观看 | 日韩视频在线一区二区三区| 在线成人免费观看| 黄色综合网站| 激情懂色av一区av二区av| 国产性天天综合网| 国产欧美在线视频| 国产综合色精品一区二区三区| 国产精品一区在线播放| 国产精品亚洲综合一区在线观看| 国产精品美女午夜av| 国产精品毛片| 国产欧美一区二区视频| 韩国v欧美v日本v亚洲v| 黄色精品一区| 一区二区亚洲精品国产| 亚洲国产精品欧美一二99| 亚洲国产成人不卡| 亚洲美女黄网| 亚洲制服欧美中文字幕中文字幕| 亚洲视频免费在线| 性18欧美另类| 久久影院亚洲| 亚洲电影在线看| 亚洲免费成人av| 在线视频亚洲欧美| 性久久久久久久| 久久久久久精| 欧美激情一区二区三区不卡| 欧美三级电影一区| 国产精品一区二区在线观看网站 | 欧美不卡高清| 欧美三区美女| 国产乱肥老妇国产一区二| 狠狠干综合网| 9i看片成人免费高清| 香蕉亚洲视频| 亚洲精品国偷自产在线99热| 亚洲高清在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲欧美久久久| 巨胸喷奶水www久久久免费动漫| 亚洲国产精品99久久久久久久久| 一本色道久久综合| 久久精品123| 欧美特黄一区| 影音欧美亚洲| 亚洲欧美卡通另类91av| 欧美va亚洲va香蕉在线| 一本色道久久加勒比88综合| 久久久999精品视频| 欧美丝袜一区二区三区| 影视先锋久久| 香蕉久久夜色精品| 亚洲国产成人在线| 欧美一级在线视频| 欧美无砖砖区免费| 亚洲每日在线| 美日韩精品视频| 午夜精品在线| 国产精品高潮呻吟|