Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
31
Task/Knapsack-problem-0-1/EasyLang/knapsack-problem-0-1.easy
Normal file
31
Task/Knapsack-problem-0-1/EasyLang/knapsack-problem-0-1.easy
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
name$[] = [ "map" "compass" "water" "sandwich" "glucose" "tin" "banana" "apple" "cheese" "beer" "suntan cream" "camera" "t-shirt" "trousers" "umbrella" "waterproof trousers" "waterproof overclothes" "note-case" "sunglasses" "towel" "socks" "book" ]
|
||||
weight[] = [ 9 13 153 50 15 68 27 39 23 52 11 32 24 48 73 42 43 22 7 18 4 30 ]
|
||||
value[] = [ 150 35 200 160 60 45 60 40 30 10 70 30 15 10 40 70 75 80 20 12 50 10 ]
|
||||
max_w = 400
|
||||
#
|
||||
proc solve i maxw . items[] wres vres .
|
||||
if i <= 0
|
||||
wres = 0
|
||||
vres = 0
|
||||
items[] = [ ]
|
||||
elif weight[i] > maxw
|
||||
call solve i - 1 maxw items[] wres vres
|
||||
else
|
||||
call solve i - 1 maxw items[] wres vres
|
||||
call solve i - 1 maxw - weight[i] items1[] w1 v1
|
||||
v1 += value[i]
|
||||
if v1 > vres
|
||||
swap items[] items1[]
|
||||
items[] &= i
|
||||
wres = w1 + weight[i]
|
||||
vres = v1
|
||||
.
|
||||
.
|
||||
.
|
||||
call solve len weight[] max_w items[] w v
|
||||
print "weight: " & w
|
||||
print "value: " & v
|
||||
print "items:"
|
||||
for i = 1 to len items[]
|
||||
print " " & name$[items[i]]
|
||||
.
|
||||
Loading…
Add table
Add a link
Reference in a new issue