Advertisement

NOI2.5.8465 (C++版马走日题解)

阅读量:

题目

8465:马走日
总Time Limit: 1000ms Memory Limit: 1024kB
Description
在中国象棋中,马的移动遵循日字形的规则。

请设计一个程序,针对给定的n*m尺寸的棋盘以及马的起始坐标(x, y),确保在移动过程中不重复访问棋盘上的任意一点,计算马能够完成对所有点遍历的可行路径数量。

Input
输入的第一行是一个整数T(T < 10),代表测试数据的数量。
每组测试数据占一行,包含四个整数,分别为棋盘的行数、列数以及初始位置的横纵坐标n, m, x, y。(0 <= x <= n-1, 0 <= y <= m-1, m < 10, n < 10)

Output
对于每组测试数据,输出一行结果,为一个整数,表示马能够完成一次完整遍历的所有可能路径数目;若无法实现,则输出数值0。

Sample Input
1
5 4 0 0

Sample Output
32

思路

通过采用递归的方式便能够实现目标

代码

复制代码
    #include<iostream>
    using namespace std;
    int x1[9] = {-2,-2,-1,-1,1,1,2,2};
    int y1[9] = {-1,1,-2,2,

全部评论 (0)

还没有任何评论哟~