Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,42 @@
|
|||
struct Item {
|
||||
item string
|
||||
weight f64
|
||||
price f64
|
||||
}
|
||||
|
||||
fn main(){
|
||||
mut left := 15.0
|
||||
mut items := [
|
||||
Item{'beef', 3.8, 36},
|
||||
Item{'pork', 5.4, 43},
|
||||
Item{'ham', 3.6, 90},
|
||||
Item{'greaves', 2.4, 45},
|
||||
Item{'flitch', 4.0, 30},
|
||||
Item{'brawn', 2.5, 56},
|
||||
Item{'welt', 3.7, 67},
|
||||
Item{'salami', 3.0, 95},
|
||||
Item{'sausage', 5.9, 98}
|
||||
]
|
||||
items.sort_with_compare(fn (a &Item, b &Item) int {
|
||||
if a.weight/a.price < b.weight/b.price {
|
||||
return -1
|
||||
} else if a.weight/a.price > b.weight/b.price {
|
||||
return 1
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
})
|
||||
for item in items {
|
||||
if item.weight <= left {
|
||||
println('Take all the $item.item')
|
||||
if item.weight == left {
|
||||
return
|
||||
}
|
||||
left -= item.weight
|
||||
} else {
|
||||
println('Take ${left:.1}kg $item.item')
|
||||
return
|
||||
}
|
||||
}
|
||||
//println(items)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue