Menu
CoddyTech

Unique Paths

Um robô começa na célula superior esquerda de uma grade com m linhas e n colunas e precisa chegar à célula inferior direita. Cada movimento o leva uma célula para a direita ou uma célula para baixo. Retorne o número de caminhos diferentes que ele pode percorrer.

Função

uniquePaths(m: integer, n: integer) → integer
minteger
o número de linhas na grade
ninteger
o número de colunas na grade
Retornainteger
o número de caminhos diferentes da célula superior esquerda até a célula inferior direita

Restrições

  • 1 ≤ m, n ≤ 100
  • A resposta é no máximo 2 × 109, então cabe em um inteiro de 32 bits com sinal.

Exemplos

Entrada
m = 3n = 4
Saída
10
Explicação
Cada caminho faz 2 movimentos para baixo e 3 movimentos para a direita, 5 movimentos ao todo. Um caminho é determinado por quais 2 dos 5 movimentos vão para baixo, e há 10 maneiras de escolhê-los.

lock icon+14 testes ocultos ao enviar

challenge icon

Para ir além

Para uma grade de 100 × 100, a resposta tem 59 dígitos. Como você a retornaria módulo 10^9+7 usando a fórmula, quando dividir por i não funciona mais?

Redefinir código
def uniquePaths(m, n):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

m = 3
n = 4

Esperado

10