60分求救
查看原帖
60分求救
752792
int__main楼主2023/8/19 15:25

WA了#3#4,其它全部AC

测试点#3的数据输进去输出是57050531010,测试点#4的数据拿不到

#include<cstdio>
#define size 22
long long map[size][size];
bool control[size][size];
int pos[9][2]=
{ {0,0}  ,{-1,2} ,{1,2} ,
  {2,1}  ,{2,-1} ,{1,-2},
  {-1,-2},{-2,-1},{-2,1}};
int m,n,hx,hy;
int dx,dy;
int i,j;
int main(){
	scanf("%d %d %d %d",&m,&n,&hx,&hy);
	for(i=0;i<9;i++){
		dx=hx+pos[i][0],dy=hy+pos[i][1];
		if(dx>=0&&dy>=0&&dx<=m&&dy<=n)
			control[dx][dy]=1;
	}
	for(i=1;i<=m;i++)
		if(!control[i][0])map[i][0]=1;
	for(i=1;i<=n;i++)
		if(!control[0][i])map[0][i]=1;
	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++){
			if(!control[i][j])map[i][j]=map[i-1][j]+map[i][j-1];
			else map[i][j]=0;
		}
	printf("%lld",map[m][n]);
	return 0;
}
2023/8/19 15:25
加载中...