(ssl1455)电子老鼠闯迷宫

2024-01-30 06:18
文章标签 电子 迷宫 老鼠 ssl1455

本文主要是介绍(ssl1455)电子老鼠闯迷宫,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

电子老鼠闯迷宫
Time Limit:1000MS  Memory Limit:65536K
Total Submit:151 Accepted:107




Description




如下图12×12方格图,找出一条自入口(2,9)到出口(11,8)的最短路径。 


Sample Input








12  //迷宫大小
2 9 11 8 //起点和终点
1 1 1 1 1 1 1 1 1 1 1 1  //邻接矩阵,0表示通,1表示不通
1 0 0 0 0 0 0 1 0 1 1 1
1 0 1 0 1 1 0 0 0 0 0 1
1 0 1 0 1 1 0 1 1 1 0 1
1 0 1 0 0 0 0 0 1 0 0 1
1 0 1 0 1 1 1 1 1 1 1 1
1 0 0 0 1 0 1 0 0 0 0 1
1 0 1 1 1 0 0 0 1 1 1 1
1 0 0 0 0 0 1 0 0 0 0 1
1 1 1 0 1 1 1 1 0 1 0 1
1 1 1 1 1 1 1 0 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
Sample Output








(2,9)->(3,9)->(3,8)->(3,7)->(4,7)->(5,7)->(5,6)->(5,5)->(5,4)->(6,4)->(7,4)->(7,3)->(7,2)->(8,2)->(9,2)->(9,3)->(9,4)->(9,5)->(9,6)->(8,6)->(8,7)->(8,8)->(9,8)->(9,9)->(10,9)->(11,9)->(11,8)
27
Source




elba
注意:在旧版本中,不可使用“dx:array[1..4] of longint=(-1,0,1,0);dy:array[1..4] of longint=(0,1,0,-1);”
只能慢慢自己打“dx[1]:=-1;”这样子打表。(在题库中错过了,好郁闷(;′⌒`))
var
 dx:array[1..4] of longint=(-1,0,1,0);//横坐标的移动,正为左,负为右
 dy:array[1..4] of longint=(0,1,0,-1);//纵坐标的移动,正为上,负为下
a:array[0..12+1,0..12+1] of longint;//迷宫的范围
 father:array[1..12*12] of longint;//父节点的序号
 state:array[1..12*12,1..2] of longint;//节点的横坐标(1),纵坐标(2)
 px,py,qx,qy,s,last:longint;
procedure init;//输入
var
 i,j,n:longint;
begin
 readln(n);
 read(px,py,qx,qy);
 for i:=1 to n do
  begin
   for j:=1 to n do
   read(a[i,j]);
   readln;
  end;
end;
procedure print(x:longint);//输出
begin
 if x=0 then exit;//找到根节点了
 inc(s);
 print(father[x]);//找父节点
 if x<>last then write('(',state[x,1],',',state[x,2],')->')
            else writeln('(',state[x,1],',',state[x,2],')');
end;
procedure bfs;
var
 tail,head,k,i,x,y:longint;//k为方向
begin
 head:=0;tail:=1;
 state[1,1]:=px;state[1,2]:=py;
 father[1]:=0;
 repeat
  inc(head);
  for k:=1 to 4 do
   begin
    x:=state[head,1]+dx[k];
    y:=state[head,2]+dy[k];
    if (x>=1) and (x<=12) and (y>=1) and (y<=12) and (a[x,y]=0)then//若不超出迷宫范围,且没有做过
     begin
      inc(tail);
      father[tail]:=head;
      state[tail,1]:=x;
      state[tail,2]:=y;
      a[x,y]:=1;
      if (state[tail,1]=qx) and (state[tail,2]=qy)then
       begin
        s:=0;
        last:=tail;
        print(tail);
        writeln(s);
        tail:=0;
       end;
    end;
   end;
 until head>=tail;
end;
begin
 init;
 bfs;
end.

这篇关于(ssl1455)电子老鼠闯迷宫的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659336

相关文章

Spring Boot集成PDFBox实现电子签章

概述 随着无纸化办公的普及,电子文档的使用越来越广泛。电子签章作为一种有效的身份验证方式,在很多场景下替代了传统的纸质文件签名。Apache PDFBox 是一个开源的Java库,可以用来渲染、生成、填写PDF文档等操作。本文将介绍如何使用Spring Boot框架结合PDFBox来实现电子签章功能。 准备工作 环境搭建:确保你的开发环境中安装了JDK 8或更高版本,并且配置好了Maven或

【电子通识】半导体工艺——保护晶圆表面的氧化工艺

在文章【电子通识】半导体工艺——晶圆制造中我们讲到晶圆的一些基础术语和晶圆制造主要步骤:制造锭(Ingot)、锭切割(Wafer Slicing)、晶圆表面抛光(Lapping&Polishing)。         那么其实当晶圆暴露在大气中或化学物质中的氧气时就会形成氧化膜。这与铁(Fe)暴露在大气时会氧化生锈是一样的道理。 氧化膜的作用         在半导体晶圆

电子电气架构---私有总线通信和诊断规则

电子电气架构—私有总线通信和诊断规则 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、

nyoj306(走迷宫)

走迷宫 时间限制: 1000 ms  |  内存限制: 65535 KB 难度:5 描述 Dr.Kong设计的机器人卡多非常爱玩,它常常偷偷跑出实验室,在某个游乐场玩之不疲。这天卡多又跑出来了,在SJTL游乐场玩个不停,坐完碰碰车,又玩滑滑梯,这时卡多又走入一个迷宫。整个迷宫是用一个N * N的方阵给出,方阵中单元格中填充了一个整数,表示走到这个位置的难度。 这个迷宫可以向上走,向

电子发射与气体导电

物理电磁学练习题:电子发射与气体导电 说明: 以下题目考察对电子发射和气体导电基本概念的理解和应用。 1. 解释以下概念:      (a) 热电子发射      (b) 光电效应      © 逸出功      (d) 等离子体 2. 比较并对比热电子发射和光电效应的异同。 3. 钨的逸出功为 4.5 eV。      (a) 计算能够从钨表面发射电子的最长波长光。      (b) 如

【电子通识】洁净度等级划分及等级标准

洁净度常用于评估半导体、生物制药、医疗、实验室及科研院所、新能源等领域的洁净室、无尘室或者无菌室等环境。         一般来说,晶圆光刻、制造、测试等级为100级或1000级的洁净间,百级洁净间要求空气中0.5微米的尘埃粒子数不得超过每立方米3520个;等级为1000级的洁净间要求0.5微米的尘埃粒子数不得超过每立方米35200个。         晶圆切割或封装工序一

CIOE中国光博会&电巢科技即将联办“智能消费电子创新发展论坛”

在科技浪潮汹涌澎湃的当下,从通信领域的高速光传输,到消费电子中的高清显示与先进成像技术,光电技术的应用范围不断拓展且日益深化。而AIGC 凭借其丰富的内容供给与个性化反馈能力,正为新一代消费电子及智能穿戴产品开辟崭新的发展路径。但与此同时,AI 技术的快速推进不仅对硬件性能提出了更为苛刻的要求,也给整个光电行业带来了诸多挑战,如技术创新的瓶颈、市场竞争的加剧以及产业链协同的复杂性等。

《GOF设计模式》—抽象工厂(Abstract Factory)—Delphi源码示例:基于抽象工厂的迷宫

 示例:基于抽象工厂的迷宫   实现:     如果TMaze.Create是传递一个对象当作参数来建立rooms、walls及doors;如此你可以以不同的参数来改变rooms、walls及doors的类。  请注意MazeFactory也就是工厂方法(Factory Method)的一个集合;这是最通常实现抽象工厂模式的方式。同时请注意MazeFactory不是一个抽象类

基于PHP+MySQL组合开发的智能电子企业名片小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 本系统采用PHP作为后端开发语言,结合MySQL数据库管理系统,构建了一个稳定、高效、可扩展的服务器端架构。PHP以其广泛的社区支持、丰富的库资源和良好的跨平台性,成为开发Web应用的理想选择。而MySQL作为开源的关系型数据库管理系统,以其高性能、低成本和易用性,成为中小型网站和应用的数据库首选。两者结合,确保了系统的高可用性和数据安全性。 代码示例 系统特色功能一览 一、

走迷宫变体【拼多多1面0905】

题目大致描述: 有一个N*M的迷宫,主角被放在随机的位置上,给你一个函数,控制主角逃离迷宫。 可以使用的函数:int move(String direction) (//direction代表上下左右四个方向,分别是“U"、“D"、“L"、“R"//返回值有3种,包括-1、0、1;-1表示前面是陷阱或墙,主角不能往前走,会留在原地;0表示迷宫出口,恭喜成功逃离;1表示前面可以走,主角前进一格)