随笔分类 -  openjudge刷题

摘要:之前使用的是递归的方法来解决的问题,后来有点想用bfs(宽度优先搜索来尝试一下的想法,在网上看到有人使用了dfs(深度优先搜索)更加坚定了自己的这种想法。 这个方法首先是以顶点的四组开始,加入那些没有放置卡片的位置,同时使用另外一个数组来标记距离,就这样一直拓展下去,如果碰到了目标位置,那么我们就对 阅读全文
posted @ 2018-06-14 11:45 张杨 阅读(485) 评论(0) 推荐(0) 编辑
摘要:这题可以使用递归来进行求解,让点分别向4个方向进行探索,直到遇到目标点,或者最后执行失败。如果找到了目标顶点,就对totalStep进行对比赋值。但step已经比目前的totalStep大时,应忽略这种情况,因为这样下去是没有意义的。 题目如下: 2802:小游戏 2802:小游戏 查看 提交 统计 阅读全文
posted @ 2018-06-13 15:51 张杨 阅读(592) 评论(0) 推荐(0) 编辑
摘要:解题思路,和上一题画家问题一样,本题也使用枚举的思想来解决,注意到这里对于时钟的操作,如果达到四次,那么那就和没有操作是一样的,故这里可以使用4进制来模拟每个操作的状态,最坏情况下的执行次数,4的9次方。下面是题目和代码: 2814:拨钟问题 2814:拨钟问题 查看 提交 统计 提示 提问 查看 阅读全文
posted @ 2018-04-07 16:56 张杨 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:这个题目和熄灯问题很类似,都是使用枚举的方法来解决,主要思想是枚举第一行,然后让第二行去匹配第一行,以此类推,一直到第n行,然后判断第n行的情况,如果符合条件,那就是合适的解。下面是一些关键的思想的详细解释: 首先,对于每一行是否涂画的操作:0表示不涂画,1表示涂画。press[ii+1][jj]= 阅读全文
posted @ 2018-04-06 10:30 张杨 阅读(1875) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示