Codeup-问题 A: 装箱问题
生活随笔
收集整理的這篇文章主要介紹了
Codeup-问题 A: 装箱问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
【問題描述】?
有一個箱子的容量為V(V為正整數,且滿足0≤V≤20000),同時有n件物品(0的體積值為正整數。?
要求從n件物品中,選取若干裝入箱內,使箱子的剩余空間最小。?
輸入:1行整數,第1個數表示箱子的容量,第2個數表示有n件物品,后面n個數分別表示這n件?
物品各自的體積。?
輸出:1個整數,表示箱子剩余空間。?
【輸入輸出樣例】?
輸入:?
24 6 8 3 12 7 9 7?
輸出:?
0
?
#include <iostream> #include <algorithm> #include <cmath> using namespace std;const int maxn = 1000000; int V, n; //容量 int w[maxn]; int dp[maxn];int main() {scanf("%d%d", &V, &n);for(int i = 1; i <= n; i++){scanf("%d", &w[i]);}for(int v = 0; v <= V; v++){dp[v] = 0;}for(int i = 1; i <= n; i++){for(int v = V; v >= w[i]; v--){dp[v] = max(dp[v], dp[v-w[i]]+w[i]);}}printf("%d\n", V - dp[V]);return 0; }?
總結
以上是生活随笔為你收集整理的Codeup-问题 A: 装箱问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeup-问题 A: 问题 A: 矩
- 下一篇: Codeup-问题 B: 采药