Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; (title cost town street)
- ; prod for producer
- (setf prod '(
- ("a" 10 "1" "$")
- ("a" 6 "4" "$")
- ("a" 15 "8" "$")
- ("b" 200 "5" "@")
- ("b" 180 "1" "@")
- ("b" 300 "7" "@")
- ("c" 31 "6" "%")
- ("c" 28 "4" "%")
- ("c" 28 "5" "%")
- )
- )
- (setf goods '(
- "b"
- "c"
- )
- )
- (defun min_cost_prod (p)
- (cond
- ((null (cdr p)) (car p))
- ((< (cadar p) (cadr (min_cost_prod (cdr p)))) (car p))
- (t (min_cost_prod (cdr p)))
- )
- )
- (defun goods_prod (g p)
- (cond
- ((null p) nil)
- ((equal g (caar p)) (cons (car p) (goods_prod g (cdr p))))
- (t (goods_prod g (cdr p)))
- )
- )
- (defun nice_prod (g p)
- (cond
- ((null g) nil)
- (t (cons (min_cost_prod (goods_prod (car g) p)) (nice_prod (cdr g) p)))
- )
- )
- (print (nice_prod goods prod))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement