求助60分 还有哪里不对嘛
查看原帖
求助60分 还有哪里不对嘛
1373242
xujinhuan111楼主2024/6/16 14:28
#include<stdio.h>
#include"math.h"
int L(int x, int y);
int panduan(int x, int y);
int x2, y2;

int main()
{
	int x1, y1;
	scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
	printf("%d", L(x1, y1));
	return 0;
}
int L(int x,int y)//利用递归返回从(0,0)到(x,y)的路径条数
{
	if (panduan(x, y))
		return 0;
	if (x < 0 || y < 0)
		return 0;
	if (x == 0 && y == 1)
		return 1;
	if (x == 1 && y == 0)
		return 1;
	return L(x - 1, y) + L(x, y - 1);
}
int panduan(int x, int y)//判断是否被马挡住
{
	if ((abs(x2 - x) == 2 && (abs(y2 - y) == 1)) || ((abs(x2 - x) == 1) && (abs(y2 - y) == 2)))
		return 1;
	else if (x2 == x && y2 == y)
		return 1;//马本身
	else
	return 0;
}
2024/6/16 14:28
加载中...