摘要: 原题链接 不想写也不会写的题 考察:素数+bfs 思路: 将每一位的数字改变判断是否出现过并且是否为素数,如果是就纳入队列 错误原因: 上面的思路是很容易想到的,但是后半段我忘了bfs是一步步到达目标的,所以暂时符合要求的就先纳入,再一步步走看是否能到终点 1 #include <iostream> 阅读全文
posted @ 2021-01-08 23:11 acmloser 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:dfs或者bfs 暴力枚举即可,没有什么特别的技巧 dfs:找到了就标记一下,避免继续搜索(因为答案一定在long long里,所以超过18位就可以不用算了) bfs:用G++编译,找到当即退出.注意一定要让所有路径都有返回值否则报错 1 #include <cstdio> 2 #i 阅读全文
posted @ 2021-01-08 22:09 acmloser 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:一点点位运算+枚举+递推 好像也可以用广搜写,但这里有个技巧真心妙 易错: 矩阵要求的字典序是从右往左最小 从Y总来的思路: 当我们确定第一行的状态时,第二行要必须灭掉第一行的1,再因为我们需要最短次数.根据第二行,我们就确定了第三行的状态,以此类推.所以我们确定了第一行的状态就确定 阅读全文
posted @ 2021-01-08 22:04 acmloser 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:bfs 稍微思考一下就知道dfs会超时,但是这道题我还花了很多时间仔细思考了第一次达到新的点是不是最短时间 动笔才是王道啊!!! 易错: 我写的判断条件是超出k的两倍就不考虑此点,实际上k可能比n小,这样会WA 1 #include <iostream> 2 #include <qu 阅读全文
posted @ 2021-01-08 13:44 acmloser 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:bfs+三维数组 思路: 没什么好说的,就是三维走迷宫,比二维多两个方向就是了 POJ请不要用C++11的特性 最短路还是用bfs比较好,一开始用dfs结果貌似栈溢出了 #include <iostream> #include <cstring> #include <queue> u 阅读全文
posted @ 2021-01-08 12:31 acmloser 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:dfs 这题我不会写...rz果然不配搞OI 看了别人代码后的思路: 一开始思路是一个位置一个位置搜,但是这样答案总是错误,看了别人代码后发现是我位置反了,应该是优先考虑放棋子,再考虑不放等下一个位置放 1 #include <iostream> 2 using namespace 阅读全文
posted @ 2021-01-08 10:27 acmloser 阅读(58) 评论(0) 推荐(0) 编辑