shuihu1.pro

来自「人工智能课程学习中的作业」· PRO 代码 · 共 36 行

PRO
36
字号
Domains
	list=integer*
	array=list*
Predicates
	append(list,array,array)
	member(list,array)
	fill(integer,integer,integer,integer)
	water(integer,integer,array)
Clauses
	append(X,T,[X|T]).
	
	member(X,[X]).
	member(X,[X|_]).
	member(X,[_|T]):-member(X,T).	
	
	fill(X,Y,A,5):-X>0,Y<5,X+Y>5,A=X+Y-5.
	fill(X,Y,0,B):-X>0,Y<5,X+Y<=5,B=X+Y.
	fill(X,Y,X,0):-Y>0.
	fill(X,Y,7,Y):-X<7.
	
	fill(X,Y,X,5):-Y<5.	
	fill(X,Y,A,0):-Y>0,X<7,X+Y<=7,A=X+Y.
	fill(X,Y,7,B):-Y>0,X<7,X+Y>7,B=X+Y-7.
	fill(X,Y,0,Y):-X>0.
	
	
	water(4,_,_).
	water(X,Y,T1):-append([X,Y],T1,T2),
			fill(X,Y,A,B),
			not(member([A,B],T2)),
			water(A,B,T2),
			write(A," ",B),nl.
	
Goal 	
 	water(0,0,[]).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?