UVA10047_The Monocycle】的更多相关文章

这题....有点奇葩,但是不难. 在矩形方阵里,某人可以往前走或者左拐右拐.都需要消耗一个单位时间. 问某人从一个点走向另一个点的最短时间,并且走过的路程是5的倍数. 由于n,m都小,直接f[n][m][direction][color],表示所有状态,bfs更新即可. 召唤代码君: #include <iostream> #include <cstdio> #include <cstring> #include <queue> using namespac…
The Monocycle Time Limit: 3000MS64bit IO Format: %lld & %llu [Submit]   [Go Back]   [Status] Description Problem A: The Monocycle A monocycle is a cycle that runs on one wheel and the one we will be considering is a bit more special. It has a solid w…
Problem A: The Monocycle  A monocycle is a cycle that runs on one wheel and the one we will be considering is a bit more special. It has a solid wheel colored with five different colors as shown in the figure: The colored segments make equal angles (…
UVa10047 The Monocycle 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19491 (以上摘自http://blog.csdn.net/shuangde800/article/details/7686003) [思路] BFS. 以节点位置(x,y)方向dir底面的颜色c时间d为状态宽搜,每次只有左转.右转.向前走三个拓展. 需要注意的有初始状态为(sx,sy,0,0),update有效简约了代码…
题目不光要求要到达终点而且要求所走的步数为5的倍数,每个时刻有三个选择,前进,左转弯,右转弯. 所以在vis数组中新增加两个维度即可,vis[x][y][dir][color]表示在(x, y)格子方向朝dir与地面接触的扇形的颜色为color,这个状态是否到达过. #include <cstdio> #include <queue> #include <cstring> using namespace std; ; char maze[maxn][maxn]; ][]…
好复杂的样子..其实就是纸老虎,多了方向.颜色两个状态罢了,依旧是bfs. 更新的时候注意处理好就行了,vis[][][][]要勇敢地开. 不过这个代码交了十几遍的submission error,手都软了 代码应该是没有问题,也可以参考http://blog.csdn.net/wjjayo/article/details/5809911 #include<stdio.h> #include<string.h> #include<algorithm> using nam…
大白图论第二题··· 题意:独轮车的轮子被均分成五块,每块一个颜色,每走过一个格子恰好转过一个颜色. 在一个迷宫中,只能向前走或者左转90度或右转90度(我曾天真的认为是向左走和向右走···),每个操作的时间是1s. 在起点轮子的绿色块着地,方向向北,要求到终点时同样是绿色块着地,方向不限,求最短时间,若走不到输出"destination not reachable".每个样例中间空一行(没错我又因为这个wa了···uva上竟然没有pe···[捂脸跑开]) 解法:BFS.visit数组…
uva10047:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=988 题意:题目意思比较绕,就是给出图,从起点'S'出发,到终点'T',有这样的车轮:车轮每转90度,时间加1,上面的均匀5个扇形,从起点开始,是blue色扇形着地,方向向‘上’,然后求出从起点到终点的最后终点是blue扇形着地的最小时间. 题…
题意:给你一张地图,S代表起点,T代表终点,有一个轮盘,轮盘平均分成5份,每往前走一格恰好转1/5,轮盘只能往前进,但可以向左右转90°,每走一步或是向左向右转90° 要花费1单位的时间,问最少的时间到达终点,如果无法到达,输出  destination not reachable,起点状态是朝北,着地颜色是绿色,到达终点的条件是着地颜色是绿色,方向任意. 解析:bfs搜一遍,但要保存4种状态,分别是坐标x,y,方向和颜色.每次选择有3种,1.向前进,2.左转,3.右转. 代码如下: #incl…
这道题目真是非常坎坷啊,WA了很多次,但所有的思路都是奔着广搜去想的,一开始出现了比答案大的数据,才想到了应该是优先队列,再说加上也肯定不会错.一开始我读错了题意,以为旋转并且前行需要的时间跟其他一样,但是旋转的动作是需要额外计时的.我的第一种方法错误原因还没有找到,我在旋转以后就直接改动了位置,感觉没有什么本质区别,旋转了以后,肯定要走啊,我直接加上时间也没什么问题,我也把所能想到的测试用例都试过了,与AC代码完全一致,真是搞不懂,这要是CF就好了.于是,学习了别人的代码,改了改我原先的地方,…