fork download
  1. miejsce([wincenty,W,dymitr,D,andrzej,A,borys,B,grzegorz,G]) :-
  2.  
  3. L0 = [1,2,3,4,5],
  4.  
  5. G = 3, /* grzegorz zajal trzecie miejsce */
  6.  
  7. select(W, L0, L1), W \= 1,
  8. /* wincenty nie zajal pierwszego miejsca */
  9.  
  10. select(D, L1, L2), D \= 2,
  11. /* dymitr nie zajal drugiego, ani tego co wincenty */
  12.  
  13. select(A, L2, L3), A \= 1, A \= 5,
  14. /* andrzej nie zajal pierwszego ani piatego,
  15. ani tego co wincenty lub dymitr*/
  16.  
  17. select(B, L3, [G]),
  18. /* pozostale miejsca zajeli borys i grzegorz */
  19.  
  20. B is W+1, /* borys przybiegl zaraz za wincentym */
  21. G > D. /* dymitr byl na mecie wczesniej niz grzegorz */
Success #stdin #stdout 0.02s 68352KB
stdin
Standard input is empty
stdout
GNU Prolog 1.3.1
By Daniel Diaz
Copyright (C) 1999-2009 Daniel Diaz