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

雁過無痕

  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 閱讀(2370) 評論(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>
            国产欧美一区二区三区久久| 国产精品久久福利| 欧美国产综合| 蜜桃av一区二区| 欧美高清成人| 日韩西西人体444www| 一区二区三区国产盗摄| 亚洲午夜精品久久久久久浪潮| 99ri日韩精品视频| 欧美乱妇高清无乱码| 午夜在线精品偷拍| 久久久久久亚洲精品杨幂换脸 | 欧美一区二区三区在线看| 欧美一区二区黄色| 蜜桃久久精品一区二区| 欧美日韩免费一区二区三区| 国产精品自在线| 永久免费视频成人| 99天天综合性| 欧美中文在线观看国产| 欧美成人综合| 亚洲午夜精品国产| 欧美多人爱爱视频网站| 一区二区冒白浆视频| 久久五月婷婷丁香社区| 国产精品高潮呻吟视频| 国产一区二区三区在线观看视频| 亚洲欧洲精品一区二区三区 | 亚洲国产网站| 亚洲综合丁香| 老司机67194精品线观看| 亚洲韩国青草视频| 亚洲一区二区久久| 牛人盗摄一区二区三区视频| 国产精品久久久久免费a∨大胸| 国产综合香蕉五月婷在线| 亚洲午夜久久久久久久久电影院| 麻豆精品传媒视频| 亚欧美中日韩视频| 欧美日韩一区二区三区在线观看免| 国产在线视频欧美| 亚洲欧美另类综合偷拍| 亚洲精品亚洲人成人网| 老司机aⅴ在线精品导航| 国产视频丨精品|在线观看| 在线亚洲观看| 亚洲激情专区| 久久久欧美精品| 国产欧美日本一区二区三区| 亚洲一区二区成人在线观看| 欧美肥婆bbw| 久久天堂精品| 亚洲电影av| 久久青草久久| 久久精品一本久久99精品| 国产日韩欧美中文在线播放| 午夜欧美精品| 亚洲影院免费| 国产视频一区在线观看| 香蕉精品999视频一区二区| 欧美激情精品久久久久久蜜臀| 一区二区三区视频免费在线观看| 男女激情久久| 久久精品道一区二区三区| 国产美女精品一区二区三区| 亚洲欧美美女| 亚洲欧美成人精品| 国产有码一区二区| 久久免费视频网| 久久久免费精品视频| 在线精品国精品国产尤物884a| 久久综合图片| 久久综合伊人| 99国产精品私拍| 亚洲婷婷在线| 韩国av一区二区三区| 欧美黄在线观看| 欧美日韩不卡在线| 午夜视频在线观看一区二区| 欧美一级理论片| 亚洲国产精品电影| 亚洲精品乱码久久久久久久久| 欧美午夜电影在线| 久久精品91久久久久久再现| 久久精品视频在线免费观看| 在线观看一区视频| 亚洲国产美女精品久久久久∴| 欧美午夜不卡在线观看免费 | 亚洲国产精品久久精品怡红院| 久久综合久久美利坚合众国| 亚洲日韩成人| 国产精品99久久久久久久vr| 国外精品视频| 日韩亚洲不卡在线| 国模一区二区三区| 日韩亚洲欧美一区| 国产综合亚洲精品一区二| 亚洲高清中文字幕| 国产精品萝li| 亚洲国产欧美一区二区三区久久| 国产精品性做久久久久久| 欧美sm视频| 国产视频一区三区| 亚洲精品一二| 激情综合色综合久久综合| 亚洲乱码国产乱码精品精可以看| 国产色产综合产在线视频| 亚洲欧洲日产国产网站| 国产片一区二区| 一区二区精品在线| 99国产一区二区三精品乱码| 久久精品一区四区| 亚洲欧美日韩在线综合| 欧美精品日韩综合在线| 久久久久国产成人精品亚洲午夜| 欧美系列精品| 日韩网站免费观看| 日韩网站在线| 免费国产一区二区| 欧美~级网站不卡| 国产欧美在线观看| 亚洲最新在线| 免费久久99精品国产| 久久精品国产亚洲一区二区| 欧美激情视频一区二区三区不卡| 久久精品国产99精品国产亚洲性色| 欧美激情区在线播放| 欧美高清影院| 一区二区三区在线视频免费观看 | 国产精品大片wwwwww| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲人体大胆视频| 亚洲国产美女精品久久久久∴| 香蕉久久国产| 久久九九精品| 国语自产精品视频在线看一大j8 | 亚洲视频网站在线观看| 亚洲久久一区| 欧美激情精品久久久久久大尺度| 久久人人97超碰国产公开结果 | 亚洲一区二区三区午夜| 欧美激情精品久久久久久大尺度| 欧美大香线蕉线伊人久久国产精品| 韩国三级电影久久久久久| 久久国产加勒比精品无码| 久久精品国语| 狠狠色狠狠色综合日日tαg| 久久精品日产第一区二区三区| 久久久综合精品| 黄色成人在线观看| 美国十次了思思久久精品导航| 欧美黄色影院| 中文国产成人精品| 国产欧美精品久久| 久久久精品999| 亚洲激情在线观看视频免费| 亚洲午夜精品在线| 国产在线欧美| 欧美精品一区二区视频 | 亚洲精品1区| 亚洲毛片网站| 欧美日韩综合在线免费观看| 一区二区三区四区国产| 欧美在线日韩| 一区二区在线观看视频在线观看 | 午夜亚洲影视| 蜜桃av一区| 亚洲网址在线| 国自产拍偷拍福利精品免费一| 欧美va亚洲va国产综合| 亚洲图片在区色| 欧美成年视频| 午夜精品久久久久久久久久久久 | 欧美精品在线观看| 欧美午夜精品理论片a级大开眼界| 亚洲小说欧美另类婷婷| 久久精品视频网| 99re6热在线精品视频播放速度| 欧美三级午夜理伦三级中视频| 久久爱www| 日韩视频不卡| 蜜臀av性久久久久蜜臀aⅴ| 在线一区二区日韩| 在线观看日韩国产| 国产精品丝袜xxxxxxx| 美女黄色成人网| 午夜国产一区| 日韩一级欧洲| 欧美激情在线免费观看| 午夜精品福利一区二区三区av | 欧美在线视频免费播放| 亚洲日本电影在线| 红桃视频国产精品| 国产欧美一区二区在线观看| 欧美日韩国产三级| 你懂的网址国产 欧美| 久久精品亚洲热| 久久精品国产99国产精品澳门| 亚洲一区二区在线视频| 亚洲久久视频|