1、走n步的方案数,想一下,走了第1步,然后要走n-1步,然后走第二步,然后要走n-2步,显然,这是一道dfs;
由于这个规律,所以在子递归中可以递归n-1,这样判断的条件是当n == 0 return 1,这是众多方案中的一种;
2、另外,数据上 n <= 20; 所以开(30,50)的数组即可,从(28,25)开始递归(这里规定向上为北,即行数减小的方向);
3、这里需要有一个注意的地方,那就是当你标记这个位置为走过时,在递归完三个递归(北西东)时,需要把标记清除(即设为0),因为这个递归是一种方案,而其他的同级的递归中,也需要走这个点,而如果未清除标记,就会导致其他同级递归不能走这个点;所以,要清除标记;
百练 4103 踩方格
最新推荐文章于 2020-04-23 22:02:16 发布