60分#3#4WA求助
查看原帖
60分#3#4WA求助
1081688
AuroraKUG楼主2023/10/23 21:39
#include <stdio.h>
int main()
{
    int n, m, hr, hc, pr1, pc1, pr2, pc2;
    scanf("%d%d%d%d", &n, &m, &hr, &hc);
    long long route[n + 1][m + 1];
    for (int i = 0; i <= n; i++)
    {
        for (int j = 0; j <= m; j++)
        {
            route[i][j] = 1;
        }
    }
    route[hr][hc] = 0;
    for (int i = 1; i <= 2; i++)
    {
        int j = 3 - i;
        pr1 = hr + i;
        pr2 = hr - i;
        pc1 = hc + j;
        pc2 = hc - j;
        if (pr1 <= n && pc1 <= m)
        {
            route[pr1][pc1] = 0;
        }
        if (pr1 <= n && pc2 >= 0)
        {
            route[pr1][pc2] = 0;
        }
        if (pr2 >= 0 && pc1 <= m)
        {
            route[pr2][pc1] = 0;
        }
        if (pr2 >= 0 && pc2 >= 0)
        {
            route[pr2][pc2] = 0;
        }
    }
    for (int a = 1; a <= n; a++)
    {
        for (int b = 1; b <= m; b++)
        {
            if (route[a][b] != 0)
            {
                route[a][b] = route[a - 1][b] + route[a][b - 1];
            }
        }
    }
    printf("%lld", route[n][m]);
    return 0;
}
2023/10/23 21:39
加载中...