hdoj 2653 - Waiting ten thousand years for Love

之前一直没有认认真真地花时间去思考这个题目。。。。。。。

分析:(关键在于如何建立状态)

(1)对于任何格子,都需要考虑是走还是飞

(2)如果当前格子是@,那么就只能飞

 

根据current和next的格子,有以下:

(1)当前是@,则无论下一步是什么,下一步都必须要飞,不飞会掉进陷阱的,耗费1s和1magic

(2)当前是“.”

                  下一格是@,则下一步必须要飞,@不能走,耗费1s和1magic

                  下一格式“.”,则下一步需要考虑两种情况,第一种是步行,耗费2s和0magic,第二种是飞,耗费1s和1magic

 

状态的建立:考虑到每一格可能是飞,也可能是步行,而飞与步行最终导致该格的magic各异,因此每一格的magic成为第三个状态的关键

 

代码不贴了,自己回去认真思考。。。。。。。

posted @ 2012-07-09 21:12  Maxwell:My Blog  阅读(140)  评论(0编辑  收藏  举报