由两个函数组成
(i,j)为卒的坐标
horse函数判断卒在该点会不会被吃 主函数计算路径数量 不管测试数据是什么 都输出0 求助R
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int x,y,p,q;
bool horse (int i, int j,int p, int q)//true代表会被吃 与马的曼哈顿距离为3的话就会被吃
{
int sum=0;
if(i>p)
{
sum=sum+i-p;
}
else
{
sum=sum+p-i;
}
if(j>q)
{
sum=sum+j-q;
}
else
{
sum=sum+q-j;
}
if(sum==3)
{
return true;
}
else return false;
}
int main()
{
int a[20][20];//a代表每个点到终点的路径数量 (i,j)为卒的坐标
memset(a,0,sizeof(a));
a[x-1][y]=1;//离终点最近的两个点的路径数量为1
a[x][y-1]=1;
cin>>x>>y>>p>>q;
for(int i=x;i>=0;i--)
{
for(int j=y;j>=0;j--)
{
if (horse(i,j,p,q)==false) a[i][j]=a[i+1][j]+a[i][j+1];
}
}
cout<<a[0][0];
return 0;
}