Menu
CoddyTech

Unique Paths

Một robot bắt đầu ở ô trên cùng bên trái của một lưới có m hàng và n cột, rồi phải đến ô dưới cùng bên phải. Mỗi bước di chuyển đưa robot sang phải một ô hoặc xuống dưới một ô. Hãy trả về số đường đi khác nhau mà robot có thể đi.

Hàm

uniquePaths(m: integer, n: integer) → integer
minteger
số hàng trong lưới
ninteger
số cột trong lưới
Trả vềinteger
số đường đi khác nhau từ ô trên cùng bên trái đến ô dưới cùng bên phải

Ràng buộc

  • 1 ≤ m, n ≤ 100
  • Đáp án nhiều nhất là 2 × 109, nên vừa với số nguyên có dấu 32 bit.

Ví dụ

Đầu vào
m = 3n = 4
Đầu ra
10
Giải thích
Mỗi đường đi gồm 2 bước xuống và 3 bước sang phải, tổng cộng 5 bước. Đường đi được xác định bởi 2 trong số 5 bước đi xuống, và có 10 cách chọn chúng.
challenge icon

Câu hỏi mở rộng

Với một lưới 100 × 100, đáp án có 59 chữ số. Bạn sẽ dùng công thức nào để trả về kết quả theo modulo 10^9+7, khi không còn chia cho i được nữa?

Đặt lại code
def uniquePaths(m, n):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

m = 3
n = 4

Đầu ra mong đợi

10