60分3,4点超时,求调
查看原帖
60分3,4点超时,求调
1465940
Samsara1楼主2024/12/18 22:16
#include<stdio.h>

#include<string.h>




int i;
int n, m;
int hx, hy;
int horse_control[16][16];
int hxc[10] = { 0,1,1,-1,-1,2,2,-2,-2 };
int hyc[10]= { 0,2,-2,2,-2,1,-1,1,-1 };

void  calculate(int a[], int b[])
{
	for (i = 0; i < 9; i++)
	{
		horse_control[hx + hxc[i]][hy + hyc[i]] = 1;
	}
	
}


long long way(int x, int y)
{
	if (x == n && y == m)
	{
		return 1;
	}

	if (horse_control[x][y] || x > n || y > m)
	{
		return 0;
	}
	else
	{

		return way(x + 1, y) + way(x, y + 1);
	}


}

int main()
{
	scanf("%d %d %d %d", &n, &m, &hx, &hy);

	calculate(hxc, hyc);
	
	

	printf("%lld\n", way(0, 0));
	
	
}
2024/12/18 22:16
加载中...