首页 > maze
头像 shyyhs
发表于 2021-01-13 19:20:26
前言: 喷死这题,lj死了.出口也有陷阱,大家要小心哦! 思路: 直接bfs+优先队列就好了. 代码: #include <bits/stdc++.h> using namespace std; const int N=3e2+5; struct xb{ int x,y; }st 展开全文
头像 PhantomSamurai
发表于 2020-05-16 01:14:48
meaning:n * m的网格图上求S到T的最短距离 走一步耗费时间为1 传送门耗费的时间为3 solution:容易想到bfs 但由于你传送过去所花费的时间不一定是最少的 所以不能用vis来标记 采用维护dist距离数组更新从S到各个点的最短距离 最终求出最短距离 tips:1.判断当前点能 展开全文
头像 Kur1su
发表于 2020-05-20 09:27:07
Description 小明来到一个由n x m个格子组成的迷宫,有些格子是陷阱,用'#'表示,小明进入陷阱就会死亡,'.'表示没有陷阱。小明所在的位置用'S'表示,目的地用'T'表示。 小明只能向上下左右相邻的格子移动,每移动一次花费1秒。 有q个单向传送阵,每个传送阵各有一个入口和一个出口,入口 展开全文
头像 sunsetcolors
发表于 2020-05-13 17:58:24
NC15665 maze 题目地址: https://ac.nowcoder.com/acm/problem/15665 基本思路: 从题目意思可以看出这是一个最短路问题,所以可以建图跑Dijkstra,但是数据并不大而建图比较麻烦,所以我们可以直接用Bfs模拟spfa算法的过程,把Bfs稍 展开全文
头像 苟且的狮子
发表于 2020-07-08 19:44:25
bfs 题意 小明来到一个由n x m个格子组成的迷宫,有些格子是陷阱,用'#'表示,小明进入陷阱就会死亡,'.'表示没有陷阱。小明所在的位置用'S'表示,目的地用'T'表示。 小明只能向上下左右相邻的格子移动,每移动一次花费1秒。 有q个单向传送阵,每个传送阵各有一个入口和一个出口,入口和出口都在 展开全文
头像 19-hanhan
发表于 2020-05-14 19:11:07
题目 题目描述:  小明来到一个由n x m个格子组成的迷宫,有些格子是陷阱,用'#'表示,小明进入陷阱就会死亡,'.'表示没有陷阱。小明所在的位置用'S'表示,目的地用'T'表示。 小明只能向上下左右相邻的格子移动,每移动一次花费1秒。 有q个单向传送阵,每个传送阵各有一个入口 展开全文
头像 与人无语
发表于 2020-05-21 21:18:52
这是一篇学习题解(别人的bfs简洁明了 我的一坨糊1、字符串处理 提前记录起点终点 用结构体数组记录传送坐标并且使用完初始化2、提前用数组模拟行走 这样每次用循环即可省略一部分代码3、用数组记录当前地点当前的最低步数 好比较并且确保正确4、要重复使用的都做到了每次都有初始化(确保正确 #inc 展开全文
头像 sunrise__sunrise
发表于 2020-05-14 21:52:55
解题思路 思维转换,从地图起点找终点退出来,因为存在传送机,具体不能一遍普通的bfs跑出来,需要比较细心的处理细节。那么我们换个角度,如果我们把这个地图里的每个位置当作一个节点,去创建一个图会怎么样呢?初始化地图输入时,每一个可以转移的小数点,边权是1,这里注意一个细节,别建反图,没什么意义。q次输 展开全文
头像 精神病科黄主任
发表于 2020-05-13 18:21:13
题意:给了一个n * m的矩阵,让从起点走到终点的最小花费是多少。有一些地点可以进行传送,不过需要花费的时间为3,其他的正常上下左右走花费的时间是1。 思路:挺简单的题。就是找到起点的位置,对于当前队列头的点,去走四个方向是不是满足要求。然后再看当前点是不是有传送门,看传送的地点是不是满足即可。因为 展开全文
头像 Canan
发表于 2020-05-15 14:23:26
题意:走迷宫,有传送阵,移动花费1秒,传送花费3秒,求到达终点的最短时间。 思路:最短路问题,首先想到的是Dijkstra算法,但是题目数据不大,建图起来麻烦(其实不会),所以我们直接用bfs跑一便就行了,一个多了几个传送阵的迷宫问题,丢进优先队列里搜索时特判一下就行了,一些细节的说明在代码上有注释 展开全文