WA求助
查看原帖
WA求助
305941
RayZhu楼主2025/8/4 22:36

由两个函数组成
(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;
}

2025/8/4 22:36
加载中...