思路没问题,就是过不了
查看原帖
思路没问题,就是过不了
1301314
Yangbingxin楼主2024/11/2 15:58
#include <bits/stdc++.h>
using namespace std;

int bx,by,mx,my;
char g[25][25];
long long res[25][25];
int dx[9] = {0,-1,1,-2,2,-1,1,-2,2};
int dy[9] = {0,2,2,1,1,-2,-2,-1,-1};

int main()
{
    cin>>bx>>by>>mx>>my;
    g[mx][my] = '#';
    for(int i = 1;i<=8;i++)
    {
        int x,y;
        x = mx+dx[i] , y = my+dy[i];
        if(x>=0 && x<=bx && y>=0 && y<=by) g[x][y] = '#';
    }
    for(int i = 0;i<=by;i++)
    {
        if(g[0][i] == '#') break;
        else res[0][i] = i;
    }
    for(int i = 0;i<=bx;i++)
    {
        if(g[i][0] == '#') break;
        else res[i][0] = i;
    }
    for(int i = 1;i<=bx;i++)
        for(int j = 1;j<=by;j++)
        {
            if(g[i][j] == '#') continue;
            res[i][j] = res[i-1][j] + res[i][j-1];
        }
    cout<<res[bx][by]<<endl;
    return 0;
}
2024/11/2 15:58
加载中...