两种方法: 1、递归 2、动态规划
use std::io;
pub fn calc(i: u32, j: u32, n: u32, m: u32) -> u32 {
if i == n || j == m {
return 1;
}
return calc(i + 1, j, n, m) + calc(i, j + 1, n, m);
}
fn main() {
let mut s = String::new();
io::stdin().read_line(&mut s).unwrap();
let (mut n, mut m) = (0u32, 0u32);
for i in s.trim().split(" ") {
if n == 0 {
n = i.parse::<u32>().unwrap_or(1);
} else {
m = i.parse::<u32>().unwrap_or(1);
}
}
println!("{}", calc(0, 0, n, m));
}
wait my code