两个红,求大佬帮忙
查看原帖
两个红,求大佬帮忙
1043489
yiyezhiqiu1011楼主2024/8/13 13:37
#include <bits/stdc++.h>
using namespace std;

long long dx[]={1,2,2,1,-1,-2,-2,-1},dy[]={2,1,-1,-2,-2,-1,1,2};

int main()
{
    int n,m;
    long long dp[40][40]={},x,y;
    cin >> n >> m >> x >> y;
    for (int i = 0; i <= n; i++)
        for (int j = 0; j <= m; j++)
            dp[i][j] = 1;
    for (int i = 0; i < 8; i++)
    {
        int nx = x + dx[i],ny = y + dy[i];
        if (nx >= 0 && ny >= 0 && nx <= n && ny <= m)
            dp[nx][ny] = 0;
    }
    dp[x][y] = 0;
    
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= m; j++)
            if (dp[i][j] != 0)
                dp[i][j] = dp[i-1][j] + dp[i][j-1];
    }
    
    cout << dp[n][m];
    
    return 0;
}
2024/8/13 13:37
加载中...