Common lisp NP完全开胃菜

Common lisp NP完全开胃菜,common-lisp,knapsack-problem,Common Lisp,Knapsack Problem,我正在尝试使用CommonLisp以暴力的方式解决这个问题。用于教育和娱乐目的 这是密码 (defparameter +items+ '((:mixed-fruit 215) (:french-fries 275) (:side-salad 335) (:hot-wings 355) (:mozzarella-sticks 420) (:sampler-plate 580))) (defun appetizers (limit items) (l

我正在尝试使用CommonLisp以暴力的方式解决这个问题。用于教育和娱乐目的

这是密码

(defparameter +items+
  '((:mixed-fruit 215)
    (:french-fries 275)
    (:side-salad 335)
    (:hot-wings 355)
    (:mozzarella-sticks 420)
    (:sampler-plate 580)))

(defun appetizers (limit items)
  (let ((res (make-hash-table :test 'equal)))
    (labels ((rec (total acc)
               (if (= total limit)
                   (setf (gethash (sort acc #'string<= :key #'symbol-name) res) total)
                   (loop for (name val) in items for 
                         new-total = (+ total val)
                         when (>= limit new-total) 
                           do (rec new-total (cons name acc))))))
      (rec 0 nil)
      (alexandria:hash-table-alist res))))
它声称它们每个都是价值1505英镑的开胃菜,但实际上不是:

CL-USER> (defun cost-of (chosen-items items)
            (loop for i in chosen-items
                  sum (second (assoc i items))))
COST-OF
CL-USER> (loop for (lst . quote-total-endquote) 
                 in (appetizers 1505 +items+)
               collect (cost-of lst +items+))
(2075 1505 3320 3535 1375 2095 2805 1160 3525 3235 2170)
CL-USER> 
如果我试着一步一步地打印出来

(defun appetizers (limit items)
  (let ((res (make-hash-table :test 'equal)))
    (labels ((rec (total acc)
               (format t "Recurring with ~s ~s~%" total acc)
               (if (= total limit)
                   (progn 
                     (format t "Done: ~s ~s (~s)~%" total acc (cost-of acc items))
                     (setf 
                        (gethash (sort acc #'string<= :key #'symbol-name) res) 
                        total))
                   (loop for (name price) in items 
                         for new-total = (+ total price)
                         when (>= limit new-total) 
                           do (rec new-total (cons name acc))))))
      (rec 0 nil)
      (alexandria:hash-table-alist res))))
所有标有
错误
的行似乎都有单个
:混合水果
定价为
1075
,这实际上是5x
:混合水果
的价格

我已经盯着这个看了很久了,我很确定我自己找不到这个虫子。我在这里哪里出错了?

功能是破坏性的;允许对列表进行破坏性修改。当您以增量方式构建和存储列表时,这会导致奇怪的结果。首先,让我们看一个简单的例子。下面是我使用SBCL得到的结果,但是实现可以做不同的事情

(loop
   for n from 0 below 5
   for l = (list n) then (list* n l)
   collecting (sort l '<))
;=> ((0 1 2 3 4) (0 1 2 3 4) (1 2 3 4) (2 3 4) (3 4))
要查看acc发生了什么样的修改,您可以将一些调试输出添加到循环。例如:

(defun appetizers (limit items)
  (let ((res (make-hash-table :test 'equal)))
    (labels ((rec (total acc)
               (if (= total limit)
                   (setf (gethash (sort acc #'string<= :key #'symbol-name) res) total)
                   (loop for (name val) in items for 
                         new-total = (+ total val)
                      with acc2 = (copy-list acc)
                      when (>= limit new-total)
                      do (rec new-total (cons name acc))
                         (when (not (equal acc2 acc))
                           (format t "~&changed from ~a to ~a" acc acc2))))))
      (rec 0 nil)
      (hash-table-alist res))))
. 我应该记得这一点,但我最近一直在使用具有函数式排序的语言。感谢您的提醒。实际上,您只使用sort的返回值(而不是像
(sort acc)(setf(gethash acc)…)
)做得很好。问题是其他地方仍然使用它。它比许多“sort is destrophic”bug更微妙。
(loop
   for n from 0 below 5
   for l = (list n) then (list* n l)
   collecting (sort l '<))
;=> ((0 1 2 3 4) (0 1 2 3 4) (1 2 3 4) (2 3 4) (3 4))
(loop
   for n from 0 below 5
   for l = (list n) then (list* n l)
   collecting (sort (copy-list l) '<))
;=> ((0) (0 1) (0 1 2) (0 1 2 3) (0 1 2 3 4))
(setf (gethash (sort acc #'string<= :key #'symbol-name) res) total)
(defun appetizers (limit items)
  (let ((res (make-hash-table :test 'equal)))
    (labels ((rec (total acc)
               (if (= total limit)
                   (setf (gethash (sort (copy-list acc) #'string<= :key #'symbol-name) res) total) 
                                        ;;^^^^^^^^^^^^^
                   (loop for (name val) in items for 
                         new-total = (+ total val)
                         when (>= limit new-total) 
                           do (rec new-total (cons name acc))))))
      (rec 0 nil)
      (hash-table-alist res))))
CL-USER> (appetizers 1505 +items+)
(((:HOT-WINGS :HOT-WINGS :MIXED-FRUIT :SAMPLER-PLATE) . 1505)
 ((:MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT) . 1505))
(defun appetizers (limit items)
  (let ((res (make-hash-table :test 'equal)))
    (labels ((rec (total acc)
               (if (= total limit)
                   (setf (gethash (sort acc #'string<= :key #'symbol-name) res) total)
                   (loop for (name val) in items for 
                         new-total = (+ total val)
                      with acc2 = (copy-list acc)
                      when (>= limit new-total)
                      do (rec new-total (cons name acc))
                         (when (not (equal acc2 acc))
                           (format t "~&changed from ~a to ~a" acc acc2))))))
      (rec 0 nil)
      (hash-table-alist res))))
CL-USER> (appetizers 1505 +items+)
changed from (MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT
                                           MIXED-FRUIT MIXED-FRUIT
                                           MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT
                                                       MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT
                                                                               MIXED-FRUIT
                                                                               MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT) to (MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT) to (MIXED-FRUIT)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                     HOT-WINGS
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT
                                                                     MIXED-FRUIT)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE) to (HOT-WINGS MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE) to (HOT-WINGS MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS MIXED-FRUIT
                                               MIXED-FRUIT MIXED-FRUIT
                                               MIXED-FRUIT MIXED-FRUIT
                                               MIXED-FRUIT MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT)
changed from (MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS
                                                             SAMPLER-PLATE
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             MIXED-FRUIT
                                                             SAMPLER-PLATE
                                                             SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT)
changed from (HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                       MIXED-FRUIT
                                                       HOT-WINGS)
changed from (MIXED-FRUIT SAMPLER-PLATE) to (MIXED-FRUIT HOT-WINGS)
changed from (MIXED-FRUIT SAMPLER-PLATE) to (MIXED-FRUIT HOT-WINGS)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE MIXED-FRUIT SAMPLER-PLATE)
changed from (MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT
                                                           HOT-WINGS)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT
                                                                         HOT-WINGS
                                                                         HOT-WINGS
                                                                         HOT-WINGS
                                                                         MIXED-FRUIT
                                                                         SAMPLER-PLATE
                                                                         SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS HOT-WINGS
                                               HOT-WINGS MIXED-FRUIT
                                               SAMPLER-PLATE SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS HOT-WINGS
                                               HOT-WINGS MIXED-FRUIT
                                               SAMPLER-PLATE SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS HOT-WINGS
                                               HOT-WINGS MIXED-FRUIT
                                               SAMPLER-PLATE SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS HOT-WINGS
                                               HOT-WINGS MIXED-FRUIT
                                               SAMPLER-PLATE SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS HOT-WINGS
                                               HOT-WINGS MIXED-FRUIT
                                               SAMPLER-PLATE SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS MIXED-FRUIT
                                 MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS
                                                             HOT-WINGS
                                                             HOT-WINGS
                                                             MIXED-FRUIT
                                                             SAMPLER-PLATE
                                                             SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (MIXED-FRUIT SAMPLER-PLATE
                                               HOT-WINGS HOT-WINGS
                                               MIXED-FRUIT MIXED-FRUIT
                                               MIXED-FRUIT SAMPLER-PLATE
                                               SAMPLER-PLATE SAMPLER-PLATE
                                               SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                       SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (SAMPLER-PLATE) to (SAMPLER-PLATE HOT-WINGS HOT-WINGS
                                 MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
                                 SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
                                 SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT MIXED-FRUIT
              MIXED-FRUIT SAMPLER-PLATE SAMPLER-PLATE SAMPLER-PLATE
              SAMPLER-PLATE SAMPLER-PLATE) to (HOT-WINGS)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                 MIXED-FRUIT
                                                                 SAMPLER-PLATE)
changed from (MIXED-FRUIT SAMPLER-PLATE) to (MIXED-FRUIT HOT-WINGS
                                             SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                 SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                 SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                 SAMPLER-PLATE)
changed from (HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                   HOT-WINGS
                                                                   HOT-WINGS
                                                                   MIXED-FRUIT
                                                                   SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                             SAMPLER-PLATE)
changed from (HOT-WINGS HOT-WINGS MIXED-FRUIT MIXED-FRUIT SAMPLER-PLATE) to (HOT-WINGS
                                                                             SAMPLER-PLATE)
(((:HOT-WINGS :HOT-WINGS :HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :MIXED-FRUIT :SAMPLER-PLATE) . 1505)
 ((:HOT-WINGS :MIXED-FRUIT :SAMPLER-PLATE) . 1505)
 ((:HOT-WINGS :HOT-WINGS :HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT
   :MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE
   :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT
   :MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE
   :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :SAMPLER-PLATE
   :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT
   :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT
   :MIXED-FRUIT :MIXED-FRUIT :MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE
   :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :HOT-WINGS :MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE
   :SAMPLER-PLATE)
  . 1505)
 ((:HOT-WINGS :HOT-WINGS :MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE
   :SAMPLER-PLATE)
  . 1505)
 ((:MIXED-FRUIT :SAMPLER-PLATE :SAMPLER-PLATE :SAMPLER-PLATE) . 1505))