0pts,输出都是0,求调必关
查看原帖
0pts,输出都是0,求调必关
1334189
Liyuhui222楼主2025/1/22 20:11
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,x,y;
    cin >> n >> m >> x >> y;
    int dp1[n + 1][m + 1] = {};
    bool dp2[n + 5][m + 5] = {};
    if(x - 1 >= 1 || y - 2 >= 1)//判断越界
        dp2[x - 1][y - 2] = 1;
    if(x - 1 >= 1 || y + 2 <= m)//判断越界*2
        dp2[x - 1][y + 2] = 1;
    if(x - 2 >= 1 || y - 1 >= 1)//判断越界*3
        dp2[x - 2][y - 1] = 1;
    if(x - 2 >= 1 || y + 1 <= m)//判断越界*4
        dp2[x - 2][y + 1] = 1;
    if(x + 1 <= n || y - 2 >= 1)//判断越界*5
        dp2[x + 1][y - 2] = 1;
    if(x + 2 >= n || y - 1 >= 1)//判断越界*6
        dp2[x + 2][y - 1] = 1;
    dp2[x + 2][y + 1] = 1;
    dp2[x + 1][y + 2] = 1;
    dp2[x][y] = 1;
    dp1[1][1] = 1;
    for(int i = 1;i <= n;i++)
    {
        for(int j = 1;j <= m;j++)
        {
            if(i == 1 && j == 1)
            {
                continue;
            }
            if(dp2[i][j])
            {
                continue;
            }
            dp1[i][j] = dp1[i - 1][j] + dp1[i][j - 1];
        }
    }
    cout << dp1[n][m];
}
2025/1/22 20:11
加载中...