分数 10

全屏浏览题目

切换布局

作者 彭昊

单位 吉首大学

小H十分喜欢睡觉,这天他起来一看,居然9.30了,而他答应了10点要到小W家去,小H想走知道小H到小W家的最短时间是多少,你能帮帮他吗。

地图是n * m的网格,每个单元是一个开放空间或建筑物(无法通过),小H的加在(1,1),小W 在(x,y)处,他只能上下左右移动,每一步需要1分钟。 输入数据可确保小W家可到达。

输入格式:

第一行具有两个正整数n,m,以空格(1 <= n,m <= 100)隔开,n为行,m为列
接下来是两个正整数x,y,用空格隔开(1 <= x <= n,1 <= y <= m)指示教学大楼的坐标
接下来是n行和m列的地图,0表示开放空间,1表示障碍物。

输出格式:

对于每个测试用例,输出一行包含整数的行,该行给出了小H到达小W家所需的最短时间(以分钟为单位)。

输入样例:

5 4
4 3
0 0 1 0
0 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1

输出样例:

7

我刚开始用dfs发现一直会出现超时现象,后来改成bfs直接过了

代码放在下方  ,有不懂的兄弟,请移步b站https://www.bilibili.com/video/BV16C4y1s7EF/?spm_id_from=333.788.recommend_more_video.1&vd_source=0c82ddfe85514943b8cdbbd570f955f7

这个视频,虽然讲的一般,但是真的很详细,希望兄弟们可以认真看完,

#include<bits/stdc++.h>
using namespace std;
int a[108][108],visited[108][108];
int endx,endy;
int n,m;
int minn=INT_MAX;
struct node{int x;int y;int step;
};
int dx[4]={0,-1,0,1};
int dy[4]={1,0,-1,0};
void bfs(int x,int y){node t;t.x=x;t.y=y;t.step=0;queue<node>q;q.push(t);visited[x][y]=0;while(!q.empty()){int tx=q.front().x;int ty=q.front().y;if(tx==endx&&ty==endy){minn=min(minn,q.front().step);break;}for(int i=0;i<4;i++){int xx=tx+dx[i];int yy=ty+dy[i];if(visited[xx][yy]==0&&a[xx][yy]!=1&&xx>0&&xx<=n&&yy>0&&yy<=m){visited[xx][yy]=1;node temp;temp.x=xx;temp.y=yy;temp.step=q.front().step+1;q.push(temp);}}q.pop();}
}
int main()
{cin>>n>>m;cin>>endx>>endy;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}bfs(1,1);cout<<minn<<endl;return 0;
}

7-10 小H喜欢睡觉相关推荐

  1. 牛客Wannafly挑战赛10 A.小H和迷宫

    链接:https://www.nowcoder.com/acm/contest/72/A 来源:牛客网 题目描述 小H陷入了一个迷宫中,迷宫里有一个可怕的怪兽,血量有N点,小H有三瓶魔法药水,分别可以 ...

  2. 小H和游戏(无根树转有根树,思维)难度⭐⭐⭐★

    链接:https://ac.nowcoder.com/acm/contest/5203/D 来源:牛客网 题目描述 小H正在玩一个战略类游戏,她可以操纵己方的飞机对敌国的N座城市(编号为1~N)进行轰 ...

  3. 科林明伦杯哈尔滨理工大学第八届程序设计竞赛——Hrbust-2378 小H的问题(模拟)

    Description 小H是一个可爱的女孩,她特别喜欢看推特(tweeter).有一天她得到了某位用户的一些推特消息,想从中提取出这个用户在这些消息中@了哪些人.但是这些消息太长了,她想请你来帮她完 ...

  4. HNUCM 1985: 小h的书桌

    题目描述 强迫症小h在整理书库,准备把书全部摆放在书桌上,摆放若干堆. 小h要求:书桌上的每堆书必须按照书本厚度从小到到大排序(也就是每堆书下面的不能比上面的薄,可以一样). 小h会从书库里一本一本地 ...

  5. 小 H 的数字c++

    题目描述 小 H 有一天突发奇想,写下了一串数字:l(l+1)(l+2)...(r-1)r.例如: l = 2,r = 5 时,数字为:2345; l = 8,r = 12 时,数字为:8910111 ...

  6. Vijos P1986 小h的妹子树二

    Vijos P1986 小h的妹子树二 题目 背景 小h同学的妹子实在是太多辣,多的他又种下了一颗妹子树. 描述 树上有n个妹子,两两之间有且仅有一条路径. 小h每次想泡两个妹子,但是妹子是一种奇怪的 ...

  7. 小H的硬币游戏(后悔贪心)

    题目描述 小 H 参加了一场神秘的游戏.游戏中有 n 堆硬币,第 i 堆价值 ai.每次小 H 可以选择编号相差 k 的硬币同时拿走.注意拿走后硬币不进行重标号.小 H 想知道最多能拿走多大价值的硬币 ...

  8. 刷题记录:牛客NC15162小H的询问

    传送门:牛客 题目描述: 小H给你一个数组{a},要求支持以下两种操作: 1. 0 l r(1<=l<=r<=n),询问区间[l,r]中权值和最大的有效子区间的权值和,一个子区间被认 ...

  9. PTA: 小H小W爱魔法

    目录 原题 参考代码1:(可以运行,但是无法完全通过PTA) 简化的题目 参考代码2:(能通过PTA) pta上做到了这题,先来看看题目 ------------------------------- ...

最新文章

  1. [图示]营销理论:不同时代的用户如何接受一个新事物?
  2. Visual Studio 2005 中的 命令窗口
  3. 服务器08系统伪静态,win2003/2008服务器IIS站点安装设置伪静态的方法
  4. Java入门算法(贪心篇)丨蓄力计划
  5. android 剪切板广播发送者,Android使用剪切板传递数据
  6. leetcode 134. 加油站(Gas Station)
  7. 十二、HTML5新增标签特性详解(audio、video、input)
  8. 在WebStorm环境中给nodejs项目中添加packages
  9. 易混单词 expect VS except
  10. python 使用 ipx协议_肝了三天,万字长文教你玩转 tcpdump,从此抓包不用愁
  11. python期末考试及答案单引号、双引号和三引号_python脚本中单引号’ 双引号“ 三个单引号‘’‘ 三个双引号”“” 差别 及反斜杠的用法...
  12. 高速EDA设计课程报告(二)
  13. 工程分析:Kconfig
  14. 关于SO、SOP、SOIC封装(宽体、中体、窄体)的详解
  15. 统计软件简介与数据操作
  16. 小布老师oracle,小布老师-oracle-1
  17. ios android 跨平台工具,15个很优秀的跨平台的移动开发工具
  18. gis 六边形网格_ArcGIS中实现指定面积蜂窝(正六边形)方法
  19. 安卓手机屏幕分辨率如何修改
  20. Python晋级语法

热门文章

  1. 快速排序 - 一个萝卜一个坑
  2. SiamCAR:Siamese Fully Convolutional Classification and Regression for Visual Tracking
  3. Any fool can do it (递归)
  4. android实现资源分包分类存放以便查找
  5. EXCEL实时获取鼠标坐标(稳定)
  6. 机器学习基础知识总结
  7. 点线面的意义_浅析点线面在平面设计中作用与意义.doc
  8. 虚拟vpc服务器搭建,vpc虚拟机搭建
  9. 《Win10——如何设置开机自启动项》
  10. 振动、位移、键相、转速、温度探头的安装要求及步骤