信息学奥赛一本通:例3.6
发布时间
阅读量:
阅读量
【题目描述】
位于A点(0,0)处的红方跳棋子欲抵达目标B点(n,m),其中n和m为不超过20的正整数。该跳棋仅可向下方或向右移动。在棋盘上某一点C(x,y)处存在黑方马,请注意该马可控制的所有跳跃一步可达之位置(如P1,P2,...,P8),这些位置均不可作为跳跃中途经过之格子。请计算红方跳棋子从起点A(0,0)到终点B(n,m)的所有可行路径总数

【输入】
给出n、m和C点的坐标。
【输出】
从A点能够到达B点的路径的条数。
【输入样例】
8 6 0 4
【输出样例】
1617
【解题思路】
初始化一个二维数组f_{25} \times 25并采用嵌套的for循环结构遍历整个二维数组区域,在每个元素位置上记录从起点到当前位置所需走过的步数
我们首先确定了所有马的控制点位置。例如p1点的位置, 马跳至该处需沿x轴方向向前移动两个单位长度, 同时沿y轴方向向前移动一个单位长度, 因此mx[1] = 2, my[1] = 1, 其坐标确定为(x加上mx[5
全部评论 (0)
还没有任何评论哟~
