poj 2488 A Knight's Journey(深度优先搜索)

来源:互联网 发布:swot矩阵案例分析 编辑:程序博客网 时间:2024/05/21 14:44

     刚开始练习搜索,今天做这个破题,做了一天到晚上9点才给AC,做到最后我差点崩溃了,在过程中我遇到了N多问题,最主要的原因无非就是方向问题。以前没有怎么用过方向数组,做那种简单的深度搜索题也就是简单的一个小范围直接用return f(x+1)+f(x-1)...就给解决了,可是这个却碰见了大麻烦。以前做二维数组,这里总有行和列在里面晃悠,所以老把它当得矩阵,矩阵的方向下好和直角坐标系反着,所以,我就做呀做,直到21点终于AC了。。。
     通过这个题,明白了以后搜索,要严格区分这个方向和范围问题,用坐标系的话列(m)就是x的范围,行(n)是y的范围。

     其实刚开始的时候,这道题直接在主函数中写的,定义了一个盏,并没把递归写出来。那样写虽然很麻烦,但是能更好的理解盏和递归的工作原理。

    

AC code:

 

 

顺便就把盏的代码也粘上了,以后复习的时候方便看一点。

 

 

  
     在做题的时候,和队友共同发现了一个小问题,我们把网上的正确代码粘下来,然后根据题目自己做了好多输入的测试数据,然后用文件读入测试数据,用正确的代码得出一组结果,把所有的结果存入一个1.txt,然后再用自己的程序读入输入的测试数据,得出的结果放在2.txt中,然后用一个小代码比较1.txt与2.txt,并且把错误标记或者存入一个文件中,这样就比较好找到自己思维的遗漏之处,有效的提高做题的效率和时间。 
     也不知道网上有没有这种经验。如果有的话,就算我们OUTs了,如果没有就算个小发现吧。呵呵。

 下面是代码,希望可以帮上看到这篇小作的朋友们。

 

                                                                 21:57:10

原创粉丝点击