国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

動態(tài)規(guī)劃的背包問題——裝箱問題

2019-11-10 19:13:41
字體:
供稿:網(wǎng)友

題目描述

有一個箱子容量為V(正整數(shù),0<=V<=20000),同時有n個物品(0<n<=30,每個物品有一個體積(正整數(shù))。

要求n個物品中,任取若干個裝入箱內(nèi),使箱子的剩余空間為最小。

輸入輸出格式

輸入格式: 一個整數(shù),表示箱子容量

一個整數(shù),表示有n個物品

接下來n行,分別表示這n 個物品的各自體積

輸出格式: 一個整數(shù),表示箱子剩余空間。

輸入輸出樣例

輸入樣例#1: 24 6 8 3 12 7 9 7 輸出樣例#1: 0 說明

NOip2001普及組 第4題 DP: f[i,j]表示前i個物品在箱子重量為j時能放的最大體積。 j>=a[i] f[i,j]:=max(f[i-1,j],f[i-1,j-a[i]]+a[i]) j

var i,j,n,m:longint; f:array [0..31,0..20001] of longint; a:Array [0..31] of longint;begin readln(m); readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do begin for j:=1 to a[i]-1 do f[i,j]:=f[i-1,j]; for j:=a[i] to m do if f[i-1,j]>f[i-1,j-a[i]]+a[i] then f[i,j]:=f[i-1,j] else f[i,j]:=f[i-1,j-a[i]]+a[i]; end; writeln(m-f[n,m]);end.
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 华宁县| 汽车| 桃园县| 双桥区| 科技| 建德市| 班戈县| 云霄县| 库尔勒市| 来凤县| 额敏县| 库尔勒市| 合作市| 昭觉县| 大新县| 定襄县| 青河县| 白沙| 突泉县| 凯里市| 葫芦岛市| 郓城县| 晋宁县| 亚东县| 峡江县| 海丰县| 敦煌市| 宜君县| 瑞丽市| 宜州市| 上饶县| 上高县| 清丰县| 新蔡县| 额济纳旗| 乐亭县| 兴城市| 南阳市| 扶余县| 恭城| 新丰县|