monocycle专题

10047 - The Monocycle(BFS +状态判断)

题目:10047 - The Monocycle 题目大意:还是迷宫问题,只是这次有要求方向和轮子着地的颜色。 解题思路:BFS ,但是需要判断状态, 并且一个格子不在是走过一次就不可以走了,而是要判断走过这个格子的轮子的方向啊,颜色啊,所以那个是否走过格子的数组是四元数组,刚开始没有想到这个,不知道到了终点后颜色不符合要求该怎么办,后面看了别人的代码,才发现可以都遍历一遍,看看有

uva 10047 Problem A: The Monocycle (搜索:BFS+优先队列)

一道很简单的BFS题目...居然用了两个小时 原因就是开始题目没有读清楚,原来转向还需要1S 而且也没有用优先队列,所以我的结果不是最优的 最后想通了就好做了 好像我的做法和很多人都不一样,别人的思路都是先让车子转向后进栈 在出栈的时候再执行前进操作 而我是直接分四个方向判断,感觉这样虽然代码长了些,但是思路很清晰,很容易理解 代码如下: #include <queue>#i

UVA 10047--The Monocycle

题目:这是题目 题意:车轮有五种颜色,每次车子在一个点可以有三种行为,朝着原来方向往前走,或者把车的方向转左或转右,这三个行为都要花费1s时间。车子在起点的车轮颜色是绿色,车头朝上,要求车子到达终点车轮颜色也是绿色,方向可以随意,问是否能到达?能到达最少的时间是多少? 思路:对于每一个格子,要记录5个属性:横坐标、纵坐标、颜色、方向、时间。由于走过的格子是可以再走的,所以我们用一个

uva 10047 uva live 2035 The Monocycle bfs

// uva 10047 uva live 2035 bfs// 求最短的嘛,肯定先尝试bfs啦// 确定状态,首先状态里面得有坐标x,y// 还得有朝向,还得有颜色值// // 这样就是一个状态里面有着三种属性// 每个状态都只要经历一次,再经历是没有任何意义的// 用一个que的思维数组记录就行了。// 按照方向爆搜,我先用f[i][j]记录的就是到// 这一点的最小距离,但