裝載問題 回溯法

2022-05-27 01:03:08 字數 951 閱讀 7304

有一批共 n

'>n

n 個貨櫃要裝上艘載重量為 c

'>c

c 的輪船,其中貨櫃 i

'>i

i 的重量為 w

i'>wi

wi。找出一種最優裝載方案,將輪船盡可能裝滿,即在裝載體積不受限制的情況下,將盡可能重的貨櫃裝上輪船。

第一行有 2 個正整數 n

'>n

n 和 c

'>c

c。 n

'>n

n 是貨櫃數,c

'>c

c 是輪船的載重量。接下來的 1 行中有 n

'>n

n 個正整數,表示貨櫃的重量。

一行,1 個整數,即最大裝載重量。

input

5 10

7 2 6 5 4

output
10
時間限制:1

s'>1s

1s記憶體限制:256mb

'>256mb

我才不會說我不會

1 #include2

using

namespace

std;

3int

maxx;

4int

ans;

5int

n,c;

6int sz[10000];7

void ss(int i,int k=0

) 13

if(maxx+sz[k]<=c)

18 ss(i,k+1

);19}20

intmain()

25 sort(sz+1,sz+n+1

);26

ss(n);

27 cout<28return0;

29 }

裝載問題 回溯法

描述 有一批共n個貨櫃要裝上艘載重量為c的輪船,其中貨櫃i的重量為wi。找出一種最優裝載方案,將輪船盡可能裝滿,即在裝載體積不受限制的情況下,將盡可能重的貨櫃裝上輪船。輸入 由檔案load.in給出輸入資料。第一行有2個正整數n和c。n是貨櫃數,c是輪船的載重量。接下來的1行中有n個正整數,表示貨櫃...

裝載問題 回溯法

有n個貨櫃要裝上2艘載重量分別為c1和c2的輪船,其中貨櫃i的重量為wi,且 問題 是否有乙個合理的裝載方案,可將這n個貨櫃裝上這2艘輪船?如果有,找出一種裝載方案。例如 當n 3,c1 c2 50 1 若w 10,40,40 可將貨櫃1和貨櫃2裝上第一艘輪船,而將貨櫃3裝上第二艘輪船 2 如果w ...

回溯法 裝載問題

有n個貨櫃要裝上載重量為w的輪船,其中貨櫃i的重量為wi。不考慮貨櫃體積的限制,現在要將若干貨櫃裝上輪船,使他們的總重量為w,如果總重量相同要盡可能的使用少的貨櫃。有n個貨櫃要裝上載重量為c1 c2的輪船,其中貨櫃i的重量為wi。問兩艘輪船能否裝下所有貨櫃。深搜所有情況,重點是要剪枝。題目一剪枝條件...