60分,不知道为什么,三号四号测试点没过,求助大佬们
查看原帖
60分,不知道为什么,三号四号测试点没过,求助大佬们
1055738
su180楼主2023/11/6 21:18
#include<stdio.h>
#include<string.h>
int main()
{
	int n,m,p,q,i,j;
	scanf("%d %d %d %d",&n,&m,&p,&q);
	int a[n+1][m+1];
	for(i=0;i<n+1;i++){
		for(j=0;j<m+1;j++){
			a[i][j]=10;
		}
	}
	
	
	for(i=1;i<n+1;i++){
		a[i][0]=1;
	}
	for(j=1;j<m+1;j++){
		a[0][j]=1;
	}
	a[0][0]=1;
	a[p][q]=0;
	if(p-1>=0&&q-2>=0){
		a[p-1][q-2]=0;
	}
	if(p+1>=0&&q-2>=0){
		a[p+1][q-2]=0;
	}
	if(p-1>=0&&q+2>=0){
		a[p-1][q+2]=0;
	}
	if(p+1>=0&&q+2>=0){
		a[p+1][q+2]=0;
	}
	if(p-2>=0&&q-1>=0){
		a[p-2][q-1]=0;
	}
	if(p+2>=0&&q-1>=0){
		a[p+2][q-1]=0;
	}
	if(p-2>=0&&q+1>=0){
		a[p-2][q+1]=0;
	}
	if(p+2>=0&&q+1>=0){
		a[p+2][q+1]=0;
	}
	for(i=0;i<n+1;i++){
		for(j=0;j<m+1;j++){
			if(a[i][j]!=0&&a[i][j]!=1){
				a[i][j]=a[i-1][j]+a[i][j-1];
			}
			//printf("%d ",a[i][j]);
		}
		//printf("\n");
	}
	printf("%d",a[n][m]);
	return 0;
}

球球了QAQ

2023/11/6 21:18
加载中...