太空站之谜解题报告_第1页
太空站之谜解题报告_第2页
太空站之谜解题报告_第3页
太空站之谜解题报告_第4页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、问题描述2002问题分可以设计出算法部分 判断当前位置是不问题描述2002问题分可以设计出算法部分 判断当前位置是不是在某一(x,y)Function(x,y 从(x,y)(u,v二 从(u,v)(x,y(x,y一二从外到内,探索确定所有未知格子是真空还是传送门(0or22三表示角落,A从某个AC向另一个相邻的A,如的位置; 否则证明 C(3,3) 是传送门, 执行(2,3四这里采用枚举法,假设传送门(X1,Y1)与传送门的某个相邻位置,然后朝(X1,Y1)Move若(X1,Y1) 果真与(X2,Y2) 对应则机器人便会到达AMoverobot(“S一二从外到内,探索确定所有未知格子是真空还是

2、传送门(0or22三表示角落,A从某个AC向另一个相邻的A,如的位置; 否则证明 C(3,3) 是传送门, 执行(2,3四这里采用枚举法,假设传送门(X1,Y1)与传送门的某个相邻位置,然后朝(X1,Y1)Move若(X1,Y1) 果真与(X2,Y2) 对应则机器人便会到达AMoverobot(“S”),可IsHere(6,5)(3,3)总程Program ABAAACCAACCAAAuses constopp:array1.4ofDirection:array1.4ofyd:array1.4,1.2ofvarmap,mk,Bj:array1.15,1.15ofmap,mk,Bj u,v:ar

3、ray1.15*15 of byte;Door:array1.10of uses constopp:array1.4ofDirection:array1.4ofyd:array1.4,1.2ofvarmap,mk,Bj:array1.15,1.15ofmap,mk,Bj u,v:array1.15*15 of byte;Door:array1.10of procedure var i,j,k:fori:=1ton forj:=1to ifch=* m thenifch=Sthen procedure var while dofh:=fhmodwhileifch=Sthen procedure

4、var while dofh:=fhmodwhilemapx+ydfh,1,y+ydfh,2=100 if mapx,y=99 thenfh:=(fh+2)mod4+1;until Function ;var rray1.300offunction ;var for i:=1to 4 ifmapx+ydi,1,y+ydi,2=100 var for i:=1to 4 ifmapx+ydi,1,y+ydi,2=100 procedurevarpp:array1.300ofifnearwall(x,y)then fori:=1to4do ifmapxx,yy=0then if mkxx,yy=0

5、then ifnearwall(xx,yy)then until (forj:=ttdownto1do until (forj:=ttdownto1do untilft=re;procedurevar for i:=m downto 1 do for i:=1to Tp ifMoverobot(Directionpathi)=0whilemapIx+ydfh,1,Iy+ydfh,2100domod whilemapIx+ydfh,1,Iy+ydfh,2=100do ifMoverobot(Directionfh)=1then fh:=fhmodwhilemapIx+ydfh,1,Iy+ydfh

6、,2=100do ifMoverobot(Directionfh)=1then fh:=fhmod4+1; if if(b1=1)and(b2=0)thenelse fh:=(fh+2) mod 4+1;until procedure varpp:array1.300ofwhile(xxpx)or(yypy)for i:=tt downto 1 do procedure var ;function var for i:=tt downto 1 do procedure var ;function var fori:=1to4do if ip thenifmapx+ydi,1,y+ydi,2=0

7、 procedurevar fori:=1to4do ifmapxx,yy=0then if mkxx,yy=0 then ifmapxx,yy=99ifmapxx,yy=0then if mkxx,yy=0 then ifmapxx,yy=99then if fh20 then untilft=re;procedureconst mv8:array1.8,1.2 of short var i,xx,yy:fori:=1to8do if mapxx,yy=99 thenwhiletot0do whiletot0do if mode=1 thenifIshere(px+ydfh1,1+ydfh2,1,py+ydfh1,2+ydfh2,2) ifbbthen if Td=Tdoor thenfori:=1tondo forj:=1tomifmapi,j=99thenmapi,j:=0; procedurevar procedurevar var procedurevar fori:=1to4do ifmapxx,yy=0then if mkxx,yy=0 then ifmapxx,yy=3then while(Doorj.xxx)or(Doorj.yyy) for j:=j to Td-1 dountilwhileTd2for i:=1 to

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论