SORRY GUYS! LỖI CỦA TÔI! Cảm ơn lời nhắc của bạn, tôi phát hiện ra f (0, k) == f (k, 0) == 1. Câu hỏi này là về cách đếm số đường đi ngắn nhất từ lưới (0,0) đến (m, n).Tìm công thức của phương trình lặp lại nhị phân này? f (m, n) = f (m-1, n) + f (m, n-1)
Tôi phải giải phương trình sau đây ngay bây giờ, tìm hiểu chính xác những gì f (m, n) bằng.
1) f(m,n) = 0 : when (m,n) = (0,0)
**2) f(m,n) = 1 : when f(0,k) or f(k,0)**
3) f(m,n) = f(m-1,n) + f(m,n-1) : when else
ví dụ:
1) f(0,0) = 0;
2) f(0,1) = 1; f(2,0) = 1;
3) f(2,1) = f(1,1) + f(2,0) = f(0, 1) + f(1, 0) + f(2, 0) = 1 + 1 + 1 = 3
Tôi nhớ có một cách tiêu chuẩn để giải quyết các loại như vậy của phương trình tái phát nhị phân như tôi học được trong lớp thuật toán của tôi cách đây vài năm, nhưng tôi chỉ không thể nhớ cho bây giờ .
Có ai có thể đưa ra bất kỳ gợi ý nào không? Hoặc một từ khóa làm thế nào để tìm câu trả lời?
Bạn có nghĩa là bạn cần phải tìm ra công thức mà không sử dụng đệ quy? Hoặc chỉ là một thuật toán tính toán sự tái diễn hiệu quả? – svick
Bạn có chắc chắn về f (2,1) = 3 không? Tôi đọc f (2,1) = f (1,1) + f (2,0) = (f (0,1) + f (1,0)) + f (2,0) = (1 + 1) + 2 = 2 + 2 = 4 –
Bạn đang tìm kiếm giải pháp mẫu đã đóng phải không? – ElKamina