摘要: Knight Moves 思路和 最少步数 一致。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 using namespace std; 6 7 const int N=305; 8 阅读全文
posted @ 2021-08-13 20:02 Rekord 阅读(235) 评论(2) 推荐(0) 编辑
摘要: 献给阿尔吉侬的花束 思路和 Dungeon Master 一致。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 using namespace std; 6 7 const int N= 阅读全文
posted @ 2021-08-13 19:48 Rekord 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 迷宫问题 思路肯定是可以参考 Dungeon Master 的。 但是在此基础上起点和终点已经确定,另外迷宫的表示也是数值。 我这里打印结果用的是深搜(肯定还有其他方法) 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #i 阅读全文
posted @ 2021-08-13 19:15 Rekord 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 抓住那头牛 这题居然是一维的! 但是笔者窃以为难度并没有比二维的低。 由于N的取值比较大(100000),为避免全数轴确定最短路径(数值), 这里加了一个限制条件 !a[k]||a[y]<a[k] 。 这样就能有效避免多余的求值。 1 #include<iostream> 2 #include<cs 阅读全文
posted @ 2021-08-13 18:30 Rekord 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 走迷宫 思路和 Dungeon Master 一致。 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 6 const int N=45; 7 char a[N][N]; 8 int 阅读全文
posted @ 2021-08-13 18:08 Rekord 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 仙岛求药 思路和 Dungeon Master 一致。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 using namespace std; 6 7 const int N=25; 8 阅读全文
posted @ 2021-08-13 18:00 Rekord 阅读(285) 评论(0) 推荐(0) 编辑
摘要: The Castle 首先,这题大体上肯定是可以参考 细胞 的。 另外, 关于最大房间的求解,只要对每一个队列求一次房间数,取最大值即可! 由于每个房间的“墙”使用了二进制表示(实际上是对应二进制的十进制值), 这里我反其道而行之,将这个十进制值又转化为二进制(实际上也是对应二进制的十进制值(表示方 阅读全文
posted @ 2021-08-13 17:18 Rekord 阅读(421) 评论(0) 推荐(0) 编辑
摘要: Lake Counting 和 细胞 相比,不能说相似,只能说一模一样!(*╹▽╹*) 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 6 const int N=1005; 7 i 阅读全文
posted @ 2021-08-13 12:34 Rekord 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Dungeon Master 这个相当于在 最少步数 的基础上增加了一些约束条件。 也就是不需要给所有点确定最短路径,只需要在有意义的点上确定就行。 因为最短路径(数值)和迷宫(字符)使用了两种不同的表示方式,所以最好使用两个数组搭配求解。 1 #include<iostream> 2 #inclu 阅读全文
posted @ 2021-08-13 12:25 Rekord 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 最少步数 这个和 细胞 不同,不需要对一整块进行标记,而是给每一个点确定一个最短路径(仅数值)。 1 #include<iostream> 2 #include<cstring> 3 #include<queue> 4 using namespace std; 5 const int N=100; 阅读全文
posted @ 2021-08-13 11:29 Rekord 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 细胞 做的第一道广搜题,纪念一下!!! 题解: main函数中的循环每次进入bfs()函数,会将“隶属于一个细胞”的所有细胞进行搜索并标记。 由于下一个细胞群的位置无法确定,所以只能老老实实遍历了,但由于有标记,不会重复多余的进入bfs()函数。 相当于main函数中的循环进入几次bfs()函数,就 阅读全文
posted @ 2021-08-13 10:55 Rekord 阅读(351) 评论(0) 推荐(0) 编辑