当前位置: 首页 > news >正文

dw网站建设的常用技术百度开发平台

dw网站建设的常用技术,百度开发平台,长春城乡建设部网站首页,电子政务网站建设的实验体会机器人走迷宫 题目 房间有X*Y的方格组成#xff0c;例如下图为6*4的大小。每一个放个以坐标(x,y)描述。 机器人固定从方格(0,0)出发#xff0c;只能向东或者向北前进#xff0c; 出口固定为房间的最东北角#xff0c;如下图的方格(5,3)。 用例保证机器人可以从入口走到出…机器人走迷宫 题目 房间有X*Y的方格组成例如下图为6*4的大小。每一个放个以坐标(x,y)描述。 机器人固定从方格(0,0)出发只能向东或者向北前进 出口固定为房间的最东北角如下图的方格(5,3)。 用例保证机器人可以从入口走到出口。 房间有些方格是墙壁如(4,1),机器人不能经过那儿。 有些地方是一旦到达就无法走到出口的如标记为B的方格称之为陷阱方格。 有些地方是机器人无法达到的如标记为A的方格称之为不可达方格不可达方格不包括墙壁所在的位置 如下实例图中陷阱方格有2个不可达方格有3个。 请为该机器人实现路径规划功能给定房间大小墙壁位置请计算出陷阱方格与不可达方格分别有多少个 输入 第一行为房间的x和y(0 x,y 1000)第二行为房间中墙壁的个数N (0 N X*Y)接着下面会有N行墙壁的坐标 同一行中如果有多个数据以一个空格隔开用例保证所有的输入数据均合法(结尾不带回车换行) 输出 陷阱方格与不可达方格数量两个信息在一行中输出以一个空格隔开。(结尾不带回车换行) 示例一 输入 6 4 5 0 2 1 2 2 2 4 1 5 1输出 2 3示例二 输入 6 4 4 2 0 2 1 3 0 3 1输出 0 4说明 说明不可达方格有4个 (4,0) (4,1) (5,0) (5,1) 解题思路 核心算法是深度优先搜索解决了一道题目判断一个地图中是否有陷阱。代码中有一些细节需要注意。 读取输入 在JavaScript中我们可以使用readline模块。为了避免一次性读取所有输入我们可以通过监听stdin的line事件每读取一行执行一次。 定义Check类 由于JavaScript中没有类的概念我们可以使用一个对象字面量来代替这个类。我们需要实现equals和hashCode方法以便在Set中使用。equals方法检查两个对象是否相等hashCode方法为对象计算 Code const readline require(readline);class Check {constructor(x, y) {this.x x;this.y y;}equals(other) {return this.x other.x this.y other.y;}hashCode() {return this.x * 31 this.y;} }let xLen; let yLen;function main() {const rl readline.createInterface({input: process.stdin,output: process.stdout,});rl.on(line, (line) {const input line.trim().split( ).map(Number);if (xLen undefined) {xLen input[0];yLen input[1];const n input[2];const walls [];for (let i 0; i n; i) {walls.push([parseInt(rl.read()), parseInt(rl.read())]);}solveMethod(walls);}}); }function solveMethod(walls) {let trapCount 0;let invalidCount 0;const wallSet new Set();for (const wall of walls) {wallSet.add(new Check(wall[0], wall[1]));}const checks new Set();const finish new Set();findOut(0, 0, wallSet, checks, finish);invalidCount xLen * yLen - checks.size - wallSet.size;for (const check of finish) {const checksT new Set();const finishT new Set();findOut(check.x, check.y, wallSet, checksT, finishT);if (!finishT.has(new Check(xLen - 1, yLen - 1))) {trapCount;}}console.log(trapCount invalidCount); }function findOut(x, y, wallSet, checks, finish) {if (x xLen - 1 y yLen - 1) {finish.add(new Check(x, y));}if (x xLen || y yLen) {return;}checks.add(new Check(x, y));if (!wallSet.has(new Check(x, y 1))) {findOut(x, y 1, wallSet, checks, finish);} else {finish.add(new Check(x, y));}if (!wallSet.has(new Check(x 1, y))) {findOut(x 1, y, wallSet, checks, finish);} else {finish.add(new Check(x, y));} } 版权说明 试题来源华为 OD 联盟整理收集 题解解题思路 与 代码 为原创内容该部分版权由 OD 联盟共同拥有并授权组内成员发布。 目标 助你解开所有机试题
http://www.w-s-a.com/news/189029/

相关文章:

  • 精品网站建设费用 干净磐石网络网页制作简单作业
  • 网站建设需要用软件群晖怎样做网站
  • 网站建设公司有哪博客网站建设方案书
  • 服装商城的网站建设宿迁论坛
  • 网站建设服务市场趋势淮南市网站开发的方式
  • 交互设计包含网站设计wordpress和discuz共存
  • 淮阳城乡建设局网站在线网页翻译软件
  • 什么是电商视觉设计郑州seo服务
  • google网站设计原则青海网站建设与管理
  • 简述网站的创建流程广西网站建设定制
  • 唐河网站制作汉中建设工程招标新闻中心
  • 网站过期就可以抢注PHP框架和wordpress
  • 天津做网站得公司克隆网站到wordpress修改
  • 郫县网站建设网站建设报价单及项目收费明细表
  • 商标做网站logo建网站作业
  • 网站顶部展出的大幅广告中建八局第二建设有限公司
  • 公众微信绑定网站帐号优秀中文网页设计
  • 如何做漫画赚钱的网站企业网站管理系统c
  • 安康公司网站制作搜狗网站
  • 太仓住房与城乡建设局网站注册推广赚钱一个80元
  • wordpress 网站生成app企业网站改版的好处
  • 广州建站服务怎么让客户做网站
  • 南京手机网站设计公司wordpress导航页
  • 娄底市建设网站app网站开发小程序
  • 刷粉网站推广免费网站建设找王科杰信誉
  • 投标建设用地是哪个网站微信小程序多少钱
  • 做玄幻封面素材网站我国数字经济报告
  • 手机网站返回跳转wordpress带颜色的文字
  • 微信群领券网站怎么做创意广告图片
  • 跟我一起做网站嘉兴做网站哪家好