Prolog中的谜题

Prolog中的谜题,prolog,zebra-puzzle,Prolog,Zebra Puzzle,任何人都可以解决这个难题: 根据给出的线索,找出每个人的名字、酒、主菜和价格。 下面是本拼图中使用的所有类别和选项 名字:琳达、尼克、罗宾、弗吉尼亚 葡萄酒:波尔多、基安蒂、梅洛、设拉子 主菜:炒牛肉、柑橘鸡、菲力牛排、红鲷鱼 价格:$24.99、$25.99、$26.99、$27.99 线索: 点红鲷鱼的用餐者没有波尔多葡萄酒 林达付的钱比喝波尔多酒的人少 无论是喝波尔多还是喝基安蒂酒的人都不是付26.99美元的人 点了牛肉炒菜的那个用餐者吃了基安蒂 点了柑橘鸡的用餐者比点了柑橘鸡的用餐者少付

任何人都可以解决这个难题:

根据给出的线索,找出每个人的名字、酒、主菜和价格。 下面是本拼图中使用的所有类别和选项

名字:琳达、尼克、罗宾、弗吉尼亚 葡萄酒:波尔多、基安蒂、梅洛、设拉子 主菜:炒牛肉、柑橘鸡、菲力牛排、红鲷鱼 价格:$24.99、$25.99、$26.99、$27.99

线索:

  • 点红鲷鱼的用餐者没有波尔多葡萄酒
  • 林达付的钱比喝波尔多酒的人少
  • 无论是喝波尔多还是喝基安蒂酒的人都不是付26.99美元的人
  • 点了牛肉炒菜的那个用餐者吃了基安蒂
  • 点了柑橘鸡的用餐者比点了柑橘鸡的用餐者少付1美元
  • 点了菲力牛排的人比点了设拉子的人付的钱少
  • 维吉尼亚不是点了牛肉炒菜的那一位,就是点了红鲷鱼的那一位
  • 拥有梅洛的人比罗宾少付1美元
  • 资料来源:

    算出每个人的名字、酒、主菜和价格

    因此,我们将每个人表示为四元复合词,
    p(姓名、葡萄酒、主菜、价格)
    。他们似乎也有四个人

    然后我们只需写下被告知的内容:

    葡萄酒和晚餐(人):-
    长度(人,4),
    Ordered1=p(u,W1,红鲷,u),
    成员(订购1人),
    %W1\=波尔多,但请延迟将此记录下来
    %直到它被进一步定义
    %或在SWI中使用冻结/2:
    冻结(W1,W1\=波尔多),
    Lynda2=p(lynda,,,PL2),
    Had2=p(u0,波尔多,0,PB2),
    成员(Lynda2,人民),
    成员(Had2,人),
    %PL2

    一定要参考标签上的问答。

    这可能是一个重复的作业吗?你尝试了什么,你在哪里卡住了,你认为下一步你的直接问题是什么?不,这不是一个作业,而是一个挑战,所以我需要一个提示来开始!!