3,4爆了,不知道为什么,求大佬捞捞
查看原帖
3,4爆了,不知道为什么,求大佬捞捞
1221201
FlowersWinding楼主2023/12/5 20:11
#include<stdio.h>
int Horse(int a,int b,int x,int y)
{
    int A[9]={+2,+2,+1,+1,0,-1,-1,-2,-2};
    int B[9]={+1,-1,+2,-2,0,+2,-2,+1,-1};
    int i;
    for(i=0;i<9;i++)
    {
        if(a==x+A[i]&&b==y+B[i])
        {
            return 1;
        }
    }
    return 0;
}
int main()
{
  long long road[25][25]={0};
  int n,m,x,y,i,j;
  scanf("%d%d%d%d",&n,&m,&x,&y);
  if(!Horse(0,0,x,y))
  {
    road[0][0]=1;
  }
  for(i=0;i<=n;i++)
  {
    if(!Horse(i,0,x,y))
    {
        road[i][0]=1;
    }
  }
  for(j=0;j<=m;j++)
  {
    if(!Horse(0,j,x,y))
    {
        road[0][j]=1;
    }
  }
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=m;j++)
    {
        if(!Horse(i,j,x,y))
        {
            road[i][j]=road[i-1][j]+road[i][j-1];
        }
        else
        road[i][j]=0;
    }
  }
  printf("%d",road[n][m]);
  return 0;
}
2023/12/5 20:11
加载中...