- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最少转弯问题最少转弯问题
一、最 少 转 弯 问 题
(文件名TURN.PAS)
给出一张地图,这张地图被分为n×m(n,m=100)个方块,任何一个方块不是平地就是高山。平地可以通过,高山则不能。现在你处在地图的(x1,y1)这块平地,问:你至少需要拐几个弯才能到达目的地(x2,y2)?你只能沿着水平和垂直方向的平地上行进,拐弯次数就等于行进方向的改变(从水平到垂直或从垂直到水平)的次数。
例如:如图1,最少的拐弯次数为5。
( x1,y1)
(x2,y2)
(图1)
输入:共三行
第一行:n m
第2至n+1行:整个地图地形描述(0:空地;1:高山),
如(图1)第2行地形描述为:1 0 0 0 0 1 0
第3行地形描述为:0 0 1 0 1 0 0
……
最后放在同一行。
第n+2行:x1 y1 x2 y2 (分别为起点、终点坐标)
输出:s (即最少的拐弯次数)
输入输出样例(见图1):
TURN.IN TURN.OUT 5 7
1 0 0 0 0 1 0
0 0 1 0 1 0 0
0 0 0 0 1 0 1
0 1 1 0 0 0 0
0 0 0 0 1 1 0
1 3 1 7 5
样例程序-1:
PROGRAM LOKyrandia;
const
fi=Turn.in;
fo=Turn.out;
Way:array[0..6,1..2]of shortint=((1,0),(0,1),(-1,0),(0,-1),(1,0),(0,1),(-1,0));
ex:array[1..3]of shortint=(0,3,1);
var
M,N:byte;
mem:array[0..101,0..101]of byte;
mem2:array[1..100,1..100,0..3]of byte;
X1,Y1,X2,Y2:byte;
ans:byte;
PROCEDURE Init;
var
f:text;
i,j:byte;
begin
fillchar(mem,sizeof(mem),1);
fillchar(mem2,sizeof(mem),255);
assign(f,fi);
reset(f);
readln(f,N,M);
for j:=1 to N do
for i:=1 to M do
read(f,mem[i,j]);
read(f,Y1,X1,Y2,X2);
close(f);
ans:=255;
end;
PROCEDURE Kernel(X,Y:byte;head:byte;Turn:byte);
var
i,j:shortint;
begin
if (X=X2)and(Y=Y2) then
begin
if Turnans then
ans:=Turn;
exit;
end;
mem2[X,Y,head]:=Turn;
mem2[X,Y,(head+1)mod 4]:=Turn+1;
mem2[X,Y,(head+2)mod 4]:=Turn;
mem2[X,Y,(head+3)mod 4]:=Turn+1;
for j:=1 to 3 do
begin
i:=head+ex[j];
if mem[X+way[i,1],Y+way[i,2]]=0 then
if (mem2[X,Y,i mod 4]ans) and (mem2[X,Y,i mod 4]mem2[X+way[i,1],Y+way[i,2],i mod 4]) then
Kernel(X+way[i,1],Y+way[i,2],i mod 4,mem2[X,Y,i mod 4]);
end;
en
您可能关注的文档
- 曾志雯书人四下期中.doc
- 曾祥禹合理化建议.doc
- 曾晓林招标文件毕业设计.doc
- 替丈夫行孝的好妻子.doc
- 替换法解决问题.doc
- 最 新 电 影1.doc
- 最什么的成语.doc
- 曾量子力学题库.doc
- 最什么的歇后语.doc
- 最优化总结最优化总结.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
最近下载
- 多发性硬化症免疫病理学.pptx VIP
- 教科版小学科学四年级上册 一天的食物 教案 教学设计.doc
- 人教统编版语文四年级上册 第三单元 双减分层作业设计 案例样例.docx
- 《中国文学理论批评史》第一章 先秦两汉文学理论批评60.pptx VIP
- 国家开放大学电大《计算机应用基础(本) 》 终结性考试试题答案(完整版).pptx
- 【西门子】SIMATIC HMI IPC477C _ HMI IPC477C PRO.pdf
- 2024年江苏省泰州市中考数学试题卷(含答案).docx
- 初中语文新部编版七年级上册第一单元核心素养教案(2024秋).doc
- 18.富饶的西沙群岛 ( 课件)(共17张PPT).ppt.pptx VIP
- 胃肠造影规范操作归纳.ppt
文档评论(0)