题解 | #走方格的方案数#

走方格的方案数

https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String a;
        try {
            a = in.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        char[] charAy = a.toCharArray();
        int i = 0, l = charAy.length, val = 0, n = 0, m = 0;
        while (i < l) {
            if (charAy[i] == ' ') {
                n = val;
                val = 0;
            } else {
                val += charAy[i] - '0';
                if (i == l - 1) m = val;
            }
            i++;
        }
        System.out.print(compute(n + 1, m + 1));
    }

    public static int compute(int n, int m) {
        int[][] dp = new int[n][m];
        dp[0][0] = 1;
        int i = 1, j = 1;
        while (i < n) {
            dp[i][0] = 1;
            i++;
        }
        while (j < m) {
            dp[0][j] = 1;
            j++;
        }
        i = 1;
        while (i < n) {
            j = 1;
            while (j < m) {
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
                j++;
            }
            i++;
        }
        return dp[n - 1][m - 1];
    }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务