pascal 迷宫问题

Problem3:苹果迷宫(maze)源文件名:maze.(pas/c/cpp)输入文件:maze.in输出文件:maze.out时间限制:1秒空间限制:64M背景xia... Problem 3:苹果迷宫(maze)
源文件名:maze.(pas/c/cpp)
输入文件:maze.in
输出文件:maze.out
时间限制:1秒
空间限制:64M
背景
xiaoT来到了山谷的另一端,发现后面有一片苹果树林,xiaoT想:刚才我花了那么多钱买苹果。现在终于可以自己摘苹果了。他发现苹果树林前面是一个迷宫。这个迷宫相当的“简单”。中间没有一堵墙。xiaoT想:这样的话我就能很快的走过去了。但是他发现,这个迷宫的地面并不是一样的,有些被涂成了红色,有一些被涂成了青色。迷宫很有规律:
迷宫是一个长方形。竖着向下走a步,再水平向右走b步能到一个格子,如果a>b,那么这个格子就是红色的,否则是青色的

xiaoT要从左上角走到右下角。
在迷宫旁边的帮助上写着,你只有把同样颜色的苹果放在同样颜色的格子里面,你才能走到这个格子上面(Q:苹果能捡回来吗?A:捡回来的苹果你还要吗?Q:要!A:…是不能捡回来的)。xiaoT想:又要去买苹果了…
问题描述
苹果有两种,一种青苹果,一种红苹果。这两种苹果的价格是不一样的,红苹果的单价为2。青苹果的单价为1。
输入格式
第一行是两个正整数n,m迷宫两边的长度(如图所示)。
输出格式
在买苹果的的花费最少的情况下,xiaoT有几种方法走到右下角。由于路可能很多很多,你只要输出方案数除以1234321的余数就行了。
样例输入 maze.in
4 5
样例输出 maze.out
42
样例解释
如图所示
数据规模
对于60%的数据,n,m≤1000
对于100%的数据,n,m≤32766

var n,m,i,j,z,v:longint;
b:array[0..40000,0..40000] of integer;
min,t:longint;

procedure try( k:integer);
var i,x,y:integer;
m:longint;
begin
if k=1 then begin x:=1; y:=1; m:=1; k:=k+2;end
else
while k<=m+n+1 do
for i:=1 to 2 do
begin
if (i=1) and(x<n+1) then begin x:=x+1; m:=m+b[x,y]; k:=k+1; try(k); end
else if (i=2)and(y<m+1) then begin y:=y+1; m:=m+b[x,y]; k:=k+1; try(k); end;
end;
if (k=m+n+2)and(m=min) then t:=t+1;
end;

begin
//assign(input,'maze.in');reset(input);
//assign(output,'maze.out'); rewrite(output);
readln(n); readln(m);
for i:=1 to n+1 do
for j:=1 to m+1 do
if i>j then b[i,j]:=2 else b[i,j]:=1;

for z:=1 to n+1 do
begin
for v:=1 to m do
write(b[z,v], ' ');
writeln(b[z,m+1]);
end;

min:=m+1;
for i:=2 to n+1 do
min:=min+ b[i,m+1];

writeln(min);

t:=0; try(1);
writeln(t mod 1234321); // close(input);close(output);
end.
编译成功
运行错误 216 错误为存取非法
我把程序分段屏蔽后 错误确定在 读入数据后的第一次循环附直 如下
for i:=1 to n+1 do
for j:=1 to m+1 do
if i>j then b[i,j]:=2 else b[i,j]:=1;
希望大家能够运行一 题目图片没输入
QQ 378632668 E-MAIL 378632668@qq.com
展开
 我来答
satlya
2010-08-12 · TA获得超过1257个赞
知道答主
回答量:85
采纳率:0%
帮助的人:66.6万
展开全部
假设n是地图的宽 m是地图的长。

for i:=1 to n do
for j:=i to n do
begin
f[1,1]:=1;
f[i,j]:=max(f[i-1,j],f[i,j-1]);
end;
write(f[n,m]);

不懂留言。
tszrj8233
2010-08-10 · TA获得超过372个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:154万
展开全部
你这个样子做是肯定超时的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式