Menu
CoddyTech

Unique Paths

Robot zaczyna w komórce w lewym górnym rogu siatki o m wierszach i n kolumnach i musi dotrzeć do komórki w prawym dolnym rogu. Każdy ruch przesuwa go o jedną komórkę w prawo lub o jedną komórkę w dół. Zwróć liczbę różnych ścieżek, którymi może się poruszać.

Funkcja

uniquePaths(m: integer, n: integer) → integer
minteger
liczba wierszy w siatce
ninteger
liczba kolumn w siatce
Zwracainteger
liczba różnych ścieżek od komórki w lewym górnym rogu do komórki w prawym dolnym rogu

Ograniczenia

  • 1 ≤ m, n ≤ 100
  • Wynik jest nie większy niż 2 × 109, więc mieści się w 32-bitowej liczbie całkowitej ze znakiem.

Przykłady

Wejście
m = 3n = 4
Wyjście
10
Wyjaśnienie
Każda ścieżka obejmuje 2 ruchy w dół i 3 ruchy w prawo, czyli łącznie 5 ruchów. Ścieżkę wyznacza wybór 2 spośród 5 ruchów, które prowadzą w dół, a można je wybrać na 10 sposobów.

lock icon+14 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Dla siatki 100 × 100 odpowiedź ma 59 cyfr. Jak zwrócisz ją modulo 10^9+7 za pomocą wzoru, gdy dzielenie przez i już nie działa?

Zresetuj kod
def uniquePaths(m, n):
    # Napisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

m = 3
n = 4

Oczekiwane

10