大佬求调
查看原帖
大佬求调
1157034
Soryu楼主2023/10/20 16:56
#include<iostream>
using namespace std;
const int CON[2][9]={{2,1,-1,-2,-2,-1,1,2,0},{1,2,2,1,-1,-2,-2,-1,0}} ;
long long int a[1000][1000]={0};
int flag[1000][1000]={0}; 
int main()
{
	int bx,by,hx,hy;
	cin>>bx>>by>>hx>>hy;
	for(int i=0;i<9;i++)
	{
		if(hx+CON[0][i]<=bx&&hy+CON[1][i]<=by&&hx+CON[0][i]>=0&&hy+CON[1][i]>=0)
		{
			int y=hx+CON[0][i];
			int x=hy+CON[1][i];
			flag[x][y]=1; 
		}
	}
	a[0][0]=1;
	for(int i=0;i<=bx;i++)
	{
	   for(int j=0;j<=by;j++)
	   {
	   	if(i)
	   	{
	   	a[i][j]+=a[i-1][j];}
	   	if(j)
	   	{
		a[i][j]+=a[i][j-1];}
		
	   	a[i][j]*=!flag[i][j];
		}	
	}
	printf("%lld",a[bx][by]);
	
	
}
2023/10/20 16:56
加载中...