求助啊,60分,3和4样例错误qaq
查看原帖
求助啊,60分,3和4样例错误qaq
1587307
_Yamada_Ryo楼主2024/11/26 16:59
#include <stdio.h>
#define int long long
int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2};
int dy[8] = {1, -1, -2, 2, -2, 2, 1, -1};
void set_the_map(int map[30][30], int n, int m, int h1, int h2)
{
    map[h1][h2] = 1;
    int nx, ny;
    for (int i = 0; i < 8; i++)
    {
        nx = h1 + dx[i];
        ny = h2 + dy[i];
        if (nx >= 0 && ny >= 0 && nx <= n && ny <= m)
        {
            map[nx][ny] = 1;
        }
    }
}
signed main()
{
    int map[30][30] = {0}, count[30][30] = {0};
    int h1, h2, n, m;
    scanf("%lld %lld %lld %lld", &n, &m, &h1, &h2);
    set_the_map(map, n, m, h1, h2);
    for (int i = 0; i <= n; i++)
    {
        for (int j = 0; j <= m; j++)
        {
            if (map[i][j])
            {
                continue;
            }
            else
            {
                else if (i * j == 0)
                {
                    count[i][j] = 1;
                }
                else
                {
                    count[i][j] = count[i - 1][j] + count[i][j - 1];
                }
            }
        }
    }
    printf("%lld", count[n][m]);
}
2024/11/26 16:59
加载中...