出现WA问题!
查看原帖
出现WA问题!
1399142
byte123楼主2024/7/22 10:57

各位大佬,下面的代码输入20 20 4 0时,出现WA问题,请问为什么?

import java.util.Scanner;

public class zuGuoHe {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int bx = sc.nextInt();//棋盘大小
        int by = sc.nextInt();
        int m = sc.nextInt();//马的坐标位置
        int n = sc.nextInt();

        boolean[][] valid = new boolean[bx + 1][by + 1];
        int[][] dp = new int[bx + 1][by + 1];
        dp[0][0] = 1;

        int[][] directions = {
                {m, n}, {m - 2, n - 1}, {m - 2, n + 1}, {m - 1, n - 2}, {m - 1, n + 2},
                {m + 1, n - 2}, {m + 1, n + 2}, {m + 2, n - 1}, {m + 2, n + 1}
        };

        for (int[] dir : directions) {
            int x = dir[0];
            int y = dir[1];
            if (x >= 0 && x <= bx && y >= 0 && y <= by) {
                valid[x][y] = true;
            }
        }

        for (int i = 0; i <= bx; i++) {
            for (int j = 0; j <= by; j++) {

                if (valid[i][j]) {
                    dp[i][j] = 0;
                } else {
                    if (i > 0) {
                        dp[i][j] += dp[i - 1][j];
                    }
                    if (j > 0) {
                        dp[i][j] += dp[i][j - 1];
                    }
                }
            }
        }
        System.out.println(dp[bx][by]);
    }
}
2024/7/22 10:57
加载中...