萌新不知道哪里错了,求助大佬
查看原帖
萌新不知道哪里错了,求助大佬
529951
foolwsk楼主2022/7/29 15:45
#include <iostream>
using namespace std;
bool in(int row,int col,int crow,int cho)
{
    const int dir[9][2]={{0 ,0},{-1,-2},{-2,-1},{-1,2},{1,2},{2,1},{2,-1},{-1,-2}};
    for(int i=0;i<9;++i)
    {
        if(dir[i][0]+crow==row&&dir[i][1]+cho==col)
        {
            return true;
        }
    }
    return false;
}
int main (void)
{
    int n,m,a,b;
    cin>>n>>m>>a>>b;
    long long arr[50][50];
    for(int i=1;i<=m;++i)
    {
        if(in(0,i,a,b))
        {
            continue;
        }
        arr[0][i]=1;
    }
    for(int i=1;i<=n;++i)
    {
        if(in(i,0,a,b)){
            continue;
        }
        arr[i][0]=1;
    }
    for(int i=1;i<=n;++i) {
        for (int j = 1; j <= m; ++j)
        {
            if(!in(i,j,a,b))  {
                arr[i][j]=arr[i-1][j]+arr[i][j-1];
            }
        }
    }
    cout<<arr[n][m];
    return 0;
}
2022/7/29 15:45
加载中...