![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
广度优先搜索
穷源溯流
路很长,尽管走便是。
展开
-
Codeforces Round #536 (Div. 2) D. Lunar New Year and a Wander(BFS+优先队列)
给出一张图,遍历每一个节点,使得节点顺序字典序最小;图中可能有环和多重边思路并不难想,下面做一下时间复杂度的讨论,//A:while(q.size()){ int x=q.top(); q.pop(); ans.pb(x); int len=G[x].size(); for(int i=0;i<len;i++){ int tmp=G[x][i]; if(vis[tmp]) continue; ...原创 2021-03-06 10:08:14 · 160 阅读 · 0 评论 -
Educational Codeforces Round 97 (Rated for Div. 2) D. Minimal Height Tree(BFS 思想)
#pragma GCC optimize(2)#include <bits/stdc++.h>#include <iostream>#include <cmath>#include <cstdio>#include <algorithm>#include <cstring>#include <queue>#include <vector>#include <utility>#in.原创 2020-10-28 22:51:31 · 162 阅读 · 0 评论 -
POJ 3278 / HDU 2717 Catch That Cow(简单BFS)
给定两个整数 n 和 k ,有n+1或n-1或n*2 这3种操作,求使得 n==k 最少的操作次数其中(0≤n≤1e5)const int N=1e5; int n,m,t; int i,j,k; int a[N+5]; bool vis[N+5]; int main(){ //IOS; int num=0; while(sdd(n,k)==2){ queue<int> q; q...原创 2020-07-03 23:26:08 · 183 阅读 · 0 评论 -
1250:The Castle
【题目描述】一座城堡被分成m*n个方块(m≤50,n≤50),每个方块可有0~4堵墙(0表示无墙)。下面示出了建筑平面图:图中的加粗黑线代表墙。几个连通的方块组成房间,房间与房间之间一定是用黑线(墙)隔开的。现在要求你编一个程序,解决以下2个问题:1、该城堡中有多少个房间?2、最大的房间有多大?【输入】平面图用一个数字表示一个方块(第1个房间用二进制1011表...原创 2020-02-09 22:17:23 · 516 阅读 · 0 评论 -
1248:Dungeon Master
【题目描述】这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。可以上下左右前后移动,每次都只能移到相邻的空位,每次需要花费一分钟,求从起点到终点最少要多久。【输入】多组测试数据。一组测试测试数据表示一个三维迷宫:前三个数,分别表示层数、...原创 2020-02-09 10:15:21 · 380 阅读 · 0 评论 -
1257:Knight Moves
【题目描述】输入n代表有个n×n的棋盘,输入开始位置的坐标和结束位置的坐标,问一个骑士朝棋盘的八个方向走马字步,从开始坐标到结束坐标可以经过多少步。【输入】首先输入一个n,表示测试样例的个数。每个测试样例有三行。第一行是棋盘的大小L(4≤L≤300);第二行和第三行分别表示马的起始位置和目标位置(0..L−1)。【输出】马移动的最小步数,起始...原创 2020-02-09 09:41:08 · 464 阅读 · 0 评论 -
1256:献给阿尔吉侬的花束
【题目描述】阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个R×C的字符矩阵来表示。字符S表示阿尔吉侬所在的位置,字符E表示奶酪所在的位置,字符#表示墙壁,字符.表示可以通行。阿...原创 2020-02-09 09:28:52 · 333 阅读 · 0 评论 -
1253:抓住那头牛
【题目描述】农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000)。农夫有两种移动方式:1、从X移动到X−1或X+1,每次移动花费一分钟2、从X移动到2×X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?【输入】两个整数,N...原创 2020-02-08 20:21:52 · 898 阅读 · 0 评论 -
1251:仙岛求药
【题目描述】少年李逍遥的婶婶病了,王小虎介绍他去一趟仙灵岛,向仙女姐姐要仙丹救婶婶。叛逆但孝顺的李逍遥闯进了仙灵岛,克服了千险万难来到岛的中心,发现仙药摆在了迷阵的深处。迷阵由M×N个方格组成,有的方格内有可以瞬秒李逍遥的怪物,而有的方格内则是安全。现在李逍遥想尽快找到仙药,显然他应避开有怪物的方格,并经过最少的方格,而且那里会有神秘人物等待着他。现在要求你来帮助他实现这个目标。下图...原创 2020-02-08 19:33:33 · 1010 阅读 · 0 评论 -
1249:Lake Counting(深搜&&宽搜)
【题目描述】题意:有一块N×M的土地,雨后积起了水,有水标记为‘W’,干燥为‘.’。八连通的积水被认为是连接在一起的。请求出院子里共有多少水洼?【输入】第一行为N,M(1≤N,M≤110)。下面为N*M的土地示意图。【输出】一行,共有的水洼数。【输入样例】10 12W........WW..WWW.....WWW....WW...WW..........原创 2020-02-08 17:41:48 · 675 阅读 · 0 评论 -
P1451 求细胞数量
题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(1<=m,n<=100)?输入格式输入:整数m,n(m行,n列)矩阵输出格式输出:细胞的个数输入输出样例输入 #14 1002345000671034560500204560067100000...原创 2020-02-08 17:23:51 · 651 阅读 · 0 评论 -
1330:最少步数
【题目描述】在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知道这件事后觉得很有趣,就想试一试,在一个(100×100)的围棋盘上任选两点A、B,A点放上黑子,B点放上白子,代表两匹马。棋子可以按“日”字走,也可以按“田”字走,俩人一个走黑马,一个走白马。谁...原创 2020-02-08 15:53:03 · 426 阅读 · 0 评论 -
1252:走迷宫
【题目描述】一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜着走。【输入】第一行是两个整数,R和C,代表迷宫的长和宽。( 1≤ R,C ≤ 40)接下来是R行,每行C个字符,代表整个迷宫。空地格子用‘.’表示,有障碍物的格子用‘#’表示...原创 2020-02-08 15:19:16 · 1896 阅读 · 0 评论 -
1254:走出迷宫
【题目描述】当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。【输入】第一行是两个整数n和m(1≤n,m≤100),表示迷宫的行数和列数。接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符‘.’表示空地,‘#’表示墙,‘S’表示起点,‘T’表...原创 2020-02-08 14:55:51 · 845 阅读 · 0 评论 -
1255:迷宫问题
【题目描述】定义一个二维数组:int maze[5][5] = {0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。【输入】一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。...原创 2020-02-08 13:54:43 · 2190 阅读 · 0 评论