Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
47
Task/Zebra-puzzle/Picat/zebra-puzzle.picat
Normal file
47
Task/Zebra-puzzle/Picat/zebra-puzzle.picat
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
import cp.
|
||||
|
||||
main =>
|
||||
Nat = [English, Swede, Dane, German, Norwegian],
|
||||
Color = [Red, Green, White, Yellow, Blue],
|
||||
Smoke = [PallMall, Dunhill, Blend, SBlue, Prince],
|
||||
Pet = [Dog, Bird, Cat, Horse, Zebra],
|
||||
Drink = [Tea, Coffee, Milk, Beer, Water],
|
||||
|
||||
Nat :: 1..5,
|
||||
Color :: 1..5,
|
||||
Smoke :: 1..5,
|
||||
Pet :: 1..5,
|
||||
Drink :: 1..5,
|
||||
|
||||
all_different(Nat),
|
||||
all_different(Color),
|
||||
all_different(Smoke),
|
||||
all_different(Pet),
|
||||
all_different(Drink),
|
||||
|
||||
English = Red,
|
||||
Swede = Dog,
|
||||
Dane = Tea,
|
||||
Green #= White-1,
|
||||
Coffee = Green,
|
||||
Bird = PallMall,
|
||||
Yellow = Dunhill,
|
||||
Milk = 3,
|
||||
Norwegian = 1,
|
||||
abs(Blend-Cat) #= 1,
|
||||
abs(Dunhill-Horse) #= 1,
|
||||
SBlue = Beer,
|
||||
German = Prince,
|
||||
abs(Norwegian-Blue) #= 1,
|
||||
abs(Blend-Water) #= 1,
|
||||
|
||||
solve(Nat ++ Color ++ Smoke ++ Pet ++ Drink),
|
||||
|
||||
L = [English=english,
|
||||
Swede=swede,
|
||||
Dane=dane,
|
||||
German=german,
|
||||
Norwegian=norwegian].sort(),
|
||||
member(Zebra=ZebraOwner, L),
|
||||
writef("The %w owns the zebra\n", ZebraOwner),
|
||||
writeln(L).
|
||||
Loading…
Add table
Add a link
Reference in a new issue