HDU小小练

hdu1253胜利大逃亡(bfs)

题意:就是城堡问题,找出可通行路径即可

思路:三维BFS,设定前后上下左右6个方向搜索,注意开始的时候人站的位置可以是墙。

hdu1495非常可乐(bfs)

题意:要在现有的量杯下把可乐最终平分到杯子里

思路:

预处理m < n < s,以后处理方便点
初始状态,m,n杯中可乐体积为0,s杯中体积为s;
然后分六种情况:
1, s 倒 m
2, s 倒 n
3, m 倒 n
4, m 倒 s
5, n 倒 m
6, n 倒 s
直到n,s杯中的可乐能等分(此时m杯中体积为0)为止,若不能等分,则输出 NO

注:memset需要的头文件C中为<memory.h> 或 <string.h>,C++中为<cstring>

hdu2544最短路(最短路)

题意:找出赛场到商场的最短路径,然后把花费的时间相加即可。

思路:直接用解决最短路问题的三大算法来解决。

hdu2550 百步穿杨

题意:把箭按顺序排下来,然后按照格式输出结果。

思路:当然是输入数字然后排序,然后再输出。考察了个人对结构体和sort的熟练应用。

hdu2688Rotate(树状数组)

题意:给定一串数字,支持查询和旋转两种操作,查询是查询在经过前面的一些操作之后形成的现在这个序列里的顺序对数,旋转是对给出的[s,e]这一段进行旋转,是将s位置的元素移至e元素的后面,这样会形成一个新串,然后继续操作,直至没有操作。

思路:看了别人的题解还不理解来。。

原文地址:https://www.cnblogs.com/darklights/p/6858623.html