定义5x5矩阵

-1 prolog

问题是 ; 我们有一个函数拿3个参数,比如; func([[0,0,0,1,0],[0,1,1,1,0],[0,0,1,0,0],[0,0,1,0,0] ,[0,0,0,1,0]],(1,1),X)第一个是嵌套列表,显示5x5矩阵,1s表示它已满,0表示空,第二个参数( 1,1)我们的起点第1行第1列,第3个参数X是; 变量,我们将与起始点(1,1)可访问的点统一,如果被询问;

?- func ( [ [0,0,0,1] [0,0,1,0] [0,0,1,1] [0,0,1,0] ], (1,1), X).
X = (1, 1);

X = (1, 2);

X = (1, 3);

X = (2, 2);

X = (3, 2);

X = (4, 1);

X = (4, 2);

false.
Run Code Online (Sandbox Code Playgroud)

当我们从(1,1)开始时,我们可以向上,向下,向左和向右移动; 因为在(1,1)上没有向左和向上移动,如果是空的,则向右看,写下来,向下看空写下,再次进入(1,2),向右或向左或向上或向下移动,依此类推.

这里我们没有写输出的原因,(2,4)(4,4)如果例如点(2,3)是满的并且(2,4)是空的我们看我们可以去点(2) ,4)一个接一个,我的意思是,如果它们上下都是满的,我们就不能用这一点去点(2,4),因为它们已经满了.

Lar*_*abe 10

我的解决方案:拿到教科书,坐在电脑前,自己搞清楚!简单地将某些东西标记为家庭作业并不能成为不自己做的事情.