實現(xiàn)背包問題
package problem
1. 問題描述
假設(shè)有一個能裝入總體積為T的背包和n件體積分別為w1 , w2 , … , wn 的物品,能否從n件物品中挑選若干件恰好裝滿背包,即使w1 +w2 + … + wn=T,要求找出所有滿足上述條件的解。例如:當T=10,各件物品的體積{1,8,4,3,5,2}時,可找到下列4組解: (1,4,3,2)、(1,4,5)、(8,2)、(3,5,2)。
2. 基本要求
讀入T、n、w1 , w2 , … , wn
3.提示:
可利用遞歸方法:若選中w1 則問題變成在w2 , … , wn 中挑選若干件使得其重量之和為T- w1 ,若不選中w1,則問題變成在w2 , … , wn 中挑選若干件使得其重量之和為T 。依次類推。
也可利用回溯法的設(shè)計思想來解決背包問題。首先將物品排成一列,然后順序選取物品裝入背包,假設(shè)已選取了前i 件物品之后背包還沒有裝滿,則繼續(xù)選取第i+1件物品,若該件物品“太大”不能裝入,則棄之而繼續(xù)選取下一件,直至背包裝滿為止。但如果在剩余的物品中找不到合適的物品以填滿背包,則說明“剛剛”裝入背包的那件物品“不合適”,應(yīng)將它取出“棄之一邊”,繼續(xù)再從“它之后”的物品中選取,如此重復(fù),,直至求得滿足條件的解,或者無解。
注:沒壓縮密碼
標簽:
package
problem
體積
w2
上傳時間:
2014-01-18
上傳用戶:yxgi5
有源碼事例,還有說明.一看就明白,
一,把"HGB.dll"和"hgbguanligongcheng.dll"復(fù)制到系統(tǒng)文件夾"\WINDOWS\system32"下.
二,新建一VB標準EXE,在"工程\引用"下點擊瀏覽把"\WINDOWS\system32"下的"hgbguanligongcheng.dll"
引用進來.
三,在窗體里聲明一個對象變量yy
Dim yy As New hgbguanlimokuai
再在任一事件下引用YY里的函數(shù)過程
i = yy.chongqi() 本過程執(zhí)行重啟動計算機,無返回值
ii=yy.guanji() 本過程執(zhí)行關(guān)閉計算機,無返回值
iii=yyy.huoquan() 本過程執(zhí)行獲得計算機管理權(quán),成功返回1,失敗返回0
注意: 生成exe文件在別的機上運行時要把兩個DLL文件復(fù)制到系統(tǒng)文件夾"\WINDOWS\system32"下,.因為exe
文件在運行時會用到那兩個DLL.
解釋:
"hgbguanligongcheng.dll"文件里面有"hgbguanlimokuai"模塊
"hgbguanlimokuai"模塊里面有三個函數(shù)過程chongqi(),guanji(),huoquan()
我們聲明YY為"hgbguanlimokuai"模塊就等于在工程里加入了一個模塊當然就能
在任何其他事件引用模塊里的函數(shù)過程.
標簽:
hgbguanligongcheng
WINDOWSsystem
dll
HGB
上傳時間:
2013-12-19
上傳用戶:cuibaigao