Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Blog
lois 3
%Лабораторная 3. Вариант 2 % Два берега реки. На одном из них человек несёт капусту, % ведёт козу и пойманного волка. Необходимо с помощью лодки, % вмещающей вместе с человеком не более одного животного или % предмета, переправиться на другой берег. Человек не может % оставлять козу с капустой и волка с козой. %Автор: Яценко Я. С., гр. 721701 writenlist([]):- nl. writenlist([H|T]):- write(H), write(' '), writenlist(T). reverse_writenllist([]). reverse_writenllist([H|T]):- reverse_writenllist(T), write(H), nl. member(X,[X|_]). member(X,[_|T]):- member(X,T). opposite(left,right). opposite(right,left). unsafe(state(X, Y, Y, _)) :- opposite(X,Y). unsafe(state(X, _, Y, Y)) :- opposite(X,Y). move(state(X, X, G, C), state(Y, Y, G, C)):- opposite(X,Y), not(unsafe(state(Y, Y, G, C))), writenlist(['Try farmer takes wolf \t', Y, Y, G, C]). move(state(X, W, X, C), state(Y, W, Y, C)):- opposite(X,Y), not(unsafe(state(Y, W, Y, C))), writenlist(['Try farmer takes goat \t', Y, W, Y, C]). move(state(X, W, G, X), state(Y, W, G, Y)):- opposite(X, Y), not(unsafe(state(Y, W, G, Y))), writenlist(['Try farmer takes cabbage ', Y, W, G, Y]). move(state(X, W, G, C), state(Y, W, G, C)):- opposite(X, Y), not(unsafe(state(Y,W,G,C))), writenlist(['Try farmer takes self \t', Y, W, G, C]). move(state(F, W, G, C), state(F, W, G, C)):- writenlist(['Backtrack from: \t', F, W, G, C]), fail. path(Goal, Goal, List):- nl, write('Solution Path is: '), nl, reverse_writenllist(List). path(State, Goal, List):- move(State, NextState), not(member(NextState, List)), path(NextState, Goal, [NextState|List]), !. :- path(state(left,left,left,left), state(right,right,right,right),[state(left,left,left,left)]), write('End'),nl.
run
|
edit
|
history
|
help
0
Please
log in
to post a comment.
Super QUERYS Alonso ordoñez Soto con atributos
C4
Equipo8_Samario
Hangman
ARREGLOS-AGUIRREMONTOYALIZET-SEC3NM70
1er Query
Querys
Garcia Castillo Super Query
jproba inicio 12 nov
Generador JSON con arreglos
Please log in to post a comment.