经典的动态规划题目:考虑右下角只能从上方或者左方经过,那么可以列出状态转移方程:dp[i][j]=dp[i-1][j]+dp[i][j-1].注意初始条件,第一行和第一列都只能有一种走法。
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int a = in.nextInt();
int b = in.nextInt();
int dp[][] = new int[a+1][b+1];
for(int i=0;i<dp[0].length;++i)
dp[0][i] = 1;
for(int i=0;i<dp.length;++i)
dp[i][0] = 1;
for(int i=1;i<=a;++i){
for(int j = 1;j<=b;++j){
dp[i][j] = dp[i-1][j]+dp[i][j-1];
}
}
System.out.println(dp[a][b]);
}
}
}