PASCAL迷宫

有一个由n*n房间组成的正方形,每个房间里都有一个数字,表示从这个房间可以通过地道向右或向下穿过几个房间。从左上角开始,如果谁能安全到达右下角就算胜利。这里4*4的方格中... 有一个由n*n房间组成的正方形,每个房间里都有一个数字,表示从这个房间可以通过地道向右或向下穿过几个房间。从左上角开始,如果谁能安全到达右下角就算胜利。这里4*4的方格中每一格表示进入这个房间时,可以向右或向下穿过的房间数。请计算从左上角可以到达右下角的路径数目。 展开
 我来答
圆周率665
2016-10-06 · TA获得超过504个赞
知道答主
回答量:43
采纳率:100%
帮助的人:16.1万
展开全部
var n,i,j,sum:longint;
a:array[1..1000,1..1000]of longint;
b,c:array[1..1000000]of longint;
procedure ss(x,y:longint);
begin
if (x>n)or(y>n) then exit; //如果越界则返回
if (x=n)and(y=n) then inc(sum) //如果到达右下角则方案数加一
else
begin
ss(x+a[x,y],y); //向下
ss(x,y+a[x,y]); //向右
end;
end;
begin
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
read(a[i,j]);
readln;
end;
ss(1,1); //深搜
if sum=0 then writeln('Can"t go to the lower right!') //如果没方案
else writeln(sum); //否则输出方案数
end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式