搜索
不常规
这个作者很懒,什么都没留下…
展开
-
第八届蓝桥杯C++ A组跳蚱蜢(BFS)
如图 p1.png 所示:有9只盘子,排成1个圆圈。其中8只盘子内装着8只蚱蜢,有一个是空盘。我们把这些蚱蜢顺时针编号为 1~8每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,…),至少要经过多少次跳跃?把空盘看作9,求最小步数,即BFS状态转移到目标态需要的最小步数,祥见代码,很清晰。标记vis数组用bool不是int ,bool更快。蚱蜢的跳跃原创 2020-10-07 20:43:08 · 361 阅读 · 0 评论 -
2016第七届蓝桥杯C++ A组 剪邮票(全排列+DFS)
不得不说蓝桥杯对全排列是情有独钟啊,一年考了三个全排列…如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。注意此题不能直接用DFS做(我就直接做的),不能做的原因是DFS不能处理"T"型,DFS只能在四个方向中选择一个走,不能同时走左和右多个方向。其实暴力就完事了,暴力求解出12个块里边任选五个块,再用DF原创 2020-10-07 19:55:05 · 250 阅读 · 0 评论 -
第九届蓝桥杯省赛C++A组 全球变暖(连通块)
【题目描述】你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:……………#………请你计算:依照科学家的预测,照片中有原创 2020-10-04 21:33:29 · 269 阅读 · 0 评论 -
BFS+优先队列
湘潭大学2018小明来到一个由n x m个格子组成的迷宫,有些格子是陷阱,用’#‘表示,小明进入陷阱就会死亡,’.'表示没有陷阱。小明所在的位置用’S’表示,目的地用’T’表示。小明只能向上下左右相邻的格子移动,每移动一次花费1秒。有q个单向传送阵,每个传送阵各有一个入口和一个出口,入口和出口都在迷宫的格子里,当走到或被传送到一个有传送阵入口的格子时,小明可以选择是否开启传送阵。如果开启传送阵,小明就会被传送到出口对应的格子里,这个过程会花费3秒;如果不开启传送阵,将不会发生任何事情,小明可以继续向上原创 2020-10-03 10:30:36 · 693 阅读 · 1 评论 -
BFS+标记路径
BFS:华尔兹有一个 n x m 大小的网格,其中有些格点比较特殊,当玩家站在上面的时候会自动移动到相邻四个方向之一,另外一些格点暂时还并不特殊,因为它们的移动方向还未知,如下图:上图中,第一列和最后一行格点的移动方向未知,其他点的移动方向已经确定了,已经在图中用箭头指出其方向。现在给定一个起点(上图中的绿色方块)和一个终点(上图中的红色方块),你需要给其中一些移动方向未知的格点确定一个方向,使得玩家能从起点移动到终点。如下图是一个方案,其中蓝色格点标注出了从起点到终点的路径:![在这里插入图片原创 2020-09-30 17:39:09 · 317 阅读 · 0 评论