随笔分类 - 广搜
摘要:解决思路 广度优先搜索 (BFS):使用 BFS 从起点 x 开始搜索,找到到达终点 y 的最短路径。 队列:使用队列存储当前节点和步数。 访问标记:使用数组 vis 标记节点是否被访问过,防止重复访问。 #include<bits/stdc++.h> #define ll long long us
阅读全文
摘要:描述 寒假在家里无聊极了,小w看到地上的瓷砖,想出了一个游戏。这个游戏是这样子的,一共有n个格子,刚开始在起点的时候可以跳到第1个到第k个格子中的一个上面,之后在每个格子上只能向前跳相对应的长度。请问至少需要多少步可以恰好跳到最后一个格子呢? 输入 第一行输入两个整数n和k(1<=n<=100000
阅读全文
摘要:描述 童年的我们,将和朋友分享美好的事物作为自己的快乐。这天,C小朋友得到了Plenty of candies,将要把这些糖果分给要好的朋友们。已知糖果从一个人传给另一个人需要1 秒的时间,同一个小朋友不会重复接受糖果。由于糖果足够多,如果某时刻某小朋友接受了糖果,他会将糖果分成若干份,分给那些在他
阅读全文
摘要:描述 给定一个n*m的地图,每个方格可以取: (1)“*”:表示一个景点; (2)“#”: 表示墙壁,不可经过; (3)“.”: 表示通道,可以经过; 现在你从左上角(0, 0)出发,需要走遍每个景点,且回到起点,问最少需要几步。 输入 第一行为n和m,表示地图的行数和列数(1<=n, m<=10)
阅读全文
摘要:部分和问题 #include<bits/stdc++.h> #include<iostream> using namespace std; int k,n,m,num,vis[1042],dt[1000],f; void dfs(){ if(f==1)return; if(num==k){ f=1;
阅读全文
摘要:广度优先搜索 第一步 7588: 农夫抓牛 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟
阅读全文
摘要:描述 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每个黑色格子能通过四连通的走法(上下左右),只走黑色格子,到达该联通块中的其它黑色格子。 输入 第一行两个整数n,m(
阅读全文
摘要:描述 英雄联盟里的流浪法师瑞兹有一个技能叫做法术涌动,法术涌动会发射一团法球对命中的目标添加涌动效果并扩散至附近的敌人,该效果会持续4秒;如果试图施加涌动效果至一名已有涌动效果的敌人,那么该效果会进一步扩散(我们假设涌动是瞬间完成不计算时间),并且之前的涌动效果会刷新继续存在4秒。 现在给你一个n*
阅读全文
摘要:描述 迷宫可以被描绘成一个带有以下字符的矩形: 'E':迷宫的入口; ‘X’:迷宫的出口; '#':迷宫的边界或墙壁; '.':穿过迷宫的路径。 例如,一个小迷宫可能如下所示: #前任### 你的工作是找到从“E”到“X”的最短路径(在“E”和“X”之间遇到的点数最少)。要从“E”到“X”,您只能乘
阅读全文