求大佬看一下哪里有问题
查看原帖
求大佬看一下哪里有问题
751983
sky_1412楼主2022/7/14 09:02
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


long long f(int m,int n,int x,int y)
{

    if (m==0&&n==0||m==0&&n==1||m==1&&n==0)
         return 1;
    else if (m<0 || n<0 || m!=x&&n!=y&&abs(m-x)+abs(n-y)==3 ||m==x&&n==y)
        return 0;
    else
        return f(m-1,n,x,y)+f(n-1,m,x,y);
}

int main()
{
    int x,y;
    int m,n;
    scanf("%d %d %d %d",&x,&y,&m,&n);
    if(m<0||m>20 || n<0||n>20 || x<0||x>20 || y<0||y>20)
    return 0;
    printf("%ld",f(x,y,m,n));
    return 0;
}

2022/7/14 09:02
加载中...