案例5过不去是什么问题 求大佬修正
查看原帖
案例5过不去是什么问题 求大佬修正
1333833
shiwen_aqd楼主2024/4/6 17:43
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
int main()
{

    int x, y, right, low, mx, my,a,b,c,d,e;
    scanf("%d %d %d %d", &right, &low,&mx, &my);
    right++;
    low++;
    mx++;
    my++;
    long long all[right+1][low+1];
    int zou[8]={-2,-2,-1,-1,1,1,2,2};
    int zouu[8]={1,-1,2,-2,2,-2,1,-1};
    for(a=0;a<right+1;a++)
	for(b=0;b<right+1;b++)

    {
    	all[a][b]=0;
	}
    all[0][1]=1;
	int check[right+1][low+1];
	for(a=0;a<right+1;a++)
	for(b=0;b<right+1;b++)
	{
		check[a][b]=1;
	}
	check[mx][my]=0;
	for(a=0;a<8;a++)
	{
		if(mx+zou[a]>0&&mx+zou[a]<=right&&my+zouu[a]<=low&&my+zouu[a]>0)
		{
			check[mx+zou[a]][my+zouu[a]]=0;
		}
	}
	for(a=1;a<=right;a++)
	{
		for(b=1;b<=low;b++)
		{
			if(check[a][b]==0)
			{
				continue;
			}
			else
			{
				all[a][b]=all[a-1][b]+all[a][b-1];
			}
		}
	}
	printf("%lld",all[right][low]);
	
}''''
2024/4/6 17:43
加载中...