解题报告程序丹奇方块_第1页
解题报告程序丹奇方块_第2页
解题报告程序丹奇方块_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

CTSC’2002-Day1-丹奇方块—[问题描述碍物,不远处坐标值为奇数的N个不同的格子中各有一者每次可以用上(U)下(D)左(L)右(R)四种移动指令之一让所有的灰色CTSC’2002-Day1-丹奇方块—[问题描述碍物,不远处坐标值为奇数的N个不同的格子中各有一者每次可以用上(U)下(D)左(L)右(R)四种移动指令之一让所有的灰色2000输入文件denki.in第一行包含一个整数N(3<=N<=20,即方块个数2行包含N个整数对xi,yi2000输入文件denki.in第一行包含一个整数N(3<=N<=20,即方块个数2行包含N个整数对xi,yi9<=xi,yi<=9,xi,yi为奇数)其中第i表第i个方块的初始位置。位置按照从上到下(即x递增)从左到右(即y递增第3行包含N个整数对Pxi,Pyi(1<=Pxi,Pyi<=N),代表目标形状中各小方输出文件denki.out第一行为需要的步数S[问题分析子73 过 过13列。目标图形的最上端,不妨设为-9[程序ProgramDenki;UsesSysUtils;==:Array[1..4,1..2]Of{应的x,y=量((-1,0),(1,0),(0,-:Array[1..4]OfChar={应的字母{箱子总数={最多移动次数={目标图形的最上一行=-{目标图形的最左一列==Array[-50..50,-50..50]13列。目标图形的最上端,不妨设为-9[程序ProgramDenki;UsesSysUtils;==:Array[1..4,1..2]Of{应的x,y=量((-1,0),(1,0),(0,-:Array[1..4]OfChar={应的字母{箱子总数={最多移动次数={目标图形的最上一行=-{目标图形的最左一列==Array[-50..50,-50..50]=Array[1..MaxN,1..2]=Array[1..MaxS]Ofn::{当前图形,目标图形=Array[1..MaxN,1..2]=Array[1..MaxS]Ofn::{当前图形,目标图形::::Fori:=1tonDoa:=high(a);b:=high(b);Fori:=1tonDoIfAimList[i,1]<aThen {找到当前目标图形的最左和最上一列Fori:=1ton阵中Aim[FinalX+AimList[i,1]-a,::::;{当前状态下,人向方向D走一步If::::;{当前状态下,人向方向D走一步IfMap[BlockX,BlockY]=1Then{是否推到了箱子AnsNum:=0;BlockX:=0;Fori:=FinalXtoFinalX+n{目标图形从上往下{从左往右处理Forx:=-9to9DoIfFThenFory:=9downto-9{将密集地区从上往下子推出来IfMap[x,y]=1Then{所以可以随心所欲的在走廊里活动{到达要推的箱子Fork:=BlockYtoy-2的左边Fork:=BlockYdowntoy{到达要推的箱子Fork:=BlockYtoy-2的左边Fork:=BlockYdowntoyDoFork:=BlockXtox-1DoFork:=BlockXdowntox+1Do将箱子向右Fork:=y+1toFinalY-211列Ifx>i+2Then2行Fork:=x-1downtoi+2DoIfx<i+2ThenBeginFork:=x+1toi+2DoFork:=FinalY-2+1toj {向右推到目标列{下{右{上{上IfBlockXmod2<>0ThenGo(2);{保证当前偶数行(走廊)内 Fori:=1toAnsNumDo 测试环境:编译器{上{上IfBlockXmod2<>0ThenGo(2);{保证当前偶数行(走廊)内 Fori:=1toAnsNumDo 测试环境:编译器FreePascalforDos机型elCeleronsor735+128MBWindowsXP al2002(5.1.2600)+

温馨提示

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

评论

0/150

提交评论