和http://blog.csdn.net/zxy_snow/article/details/6176139 博主的经历一样啊……交hdu1242就ac了,但是zju的1649就wa……
hdu果然数据弱啊~
于是在以上博客上看到原因。
我还是太菜,自己无法发现漏洞!
以下出自文章开头的博客:
因为一般广搜的话必须都是1个时间才能搜,才能保证这个BFS树是等距离向外伸展的,而这个不是等距离的,所以需要一些处理。
1、我的方法是,找到天使后,把时间比下大小,最后输出最小的。需要优化,只这么做的话,会TLE的,如果走过一个格子,这个格子存走过时候的时间,下次再走到这个格子,如果时间比格子里的短,就入队,否则,就不用入队了。60MS。
2、网上看到另一种方法,就是把杀护卫和走到护卫那个格子看成两个动作等于说是入队两次,这个好啊!!!写了半天终于写出来了。20MS。
3、刚才想起来一种方法,因为如果等距离的BFS的话,队列里的time值是从小往大排的,那我直接用优先队列就可以了哈~~嘻嘻~10MS~人品好,0MS了~
上面blog题解很全面,我的代码,有待完善。
向人家学习啊!