第4个数据没过,求助
查看原帖
第4个数据没过,求助
632687
czk_feiwu楼主2022/7/19 17:47
#include <iostream>

using namespace std;
int HX[]={-2,-2,-1,-1,0,1,1,2,2};
int HY[]={1,-1,2,-2,0,2,-2,1,-1};
int main()
{
    int bx,by,hx,hy;
    long long mapp[21][21];
    cin>>bx>>by>>hx>>hy;
    for(int p=0;p<21;p++)
    {
        for(int q=0;q<21;q++)
        {
            mapp[p][q]=0;
        }
    }
    for(int i=0;i<=21;i++)
    {
        mapp[i][0]=1;
        mapp[0][i]=1;
    }
    mapp[0][0]=0;
    for(int i=0;i<9;i++)
    {
        if(hx+HX[i]>0&&hy+HY[i]>0&&hx+HX[i]<=bx&&hy+HY[i]<=by)
        {
            mapp[hx+HX[i]][hy+HY[i]]=-1;
        }
        else if(hx+HX[i]==0)
        {
            for(int temp=hy+HY[i];temp<21;temp++)
            {
                mapp[0][temp]=0;
            }
        }
        else if(hy+HY[i]==0)
        {
            mapp[hx+HX[i]][hy+HY[i]]=0;
           for(int temp=hx+HX[i]+1;temp<21;temp++)
            {
                mapp[temp][0]=0;
            }
        }
        else
        {
            continue;
        }
        }

    for(int i=1;i<=bx;i++)
    {
        for(int j=1;j<=by;j++)
        {
            if(mapp[i][j]==-1)
               {
                   mapp[i][j]=0;
               }
            else
            {
                mapp[i][j]=mapp[i-1][j]+mapp[i][j-1];
            }
        }
    }

    cout <<mapp[bx][by];
    return 0;
}


2022/7/19 17:47
加载中...