Todos os desafios
Médio 0 resolvidos 0% de aceitação

Contar Caminhos em uma Grade

Conte as rotas em uma grade retangular usando apenas movimentos para a direita e para baixo.

Comece no canto superior esquerdo de uma grade com rows linhas por columns colunas de células. Mova-se apenas pelas bordas das células, um passo para a direita ou um passo para baixo por vez, até chegar ao canto inferior direito. Conte as sequências distintas de movimentos. A grade não possui obstáculos.

Uma grade com 2 linhas e 3 colunas de células exige exatamente 2 movimentos para baixo e 3 para a direita.

Implemente lattice_paths(rows, columns).

Entrada

rows: O número de linhas de células, não de vértices.

columns: O número de colunas de células, não de vértices.

Saída

Retorne o número de rotas de canto a canto.

Restrições

0 ≤ rows, columns ≤ 30 e rows + columns ≤ 60. Zero em uma dimensão resulta em uma rota reta. Uma grade 0 × 0 possui uma rota vazia. Os resultados cabem em um inteiro assinado de 64 bits.

Exemplos

Exemplo 1
Entrada:
rows = 2
columns = 3

Saída esperada:
expected = 10
Entrada:
long long rows = 2;
long long columns = 3;

Saída esperada:
long long expected = 10;
Entrada:
long rows = 2;
long columns = 3;

Saída esperada:
long expected = 10;

Explicação

Cada rota contém cinco movimentos. Escolher quais dois serão para baixo resulta em dez rotas distintas.

Exemplo 2
Entrada:
rows = 0
columns = 4

Saída esperada:
expected = 1
Entrada:
long long rows = 0;
long long columns = 4;

Saída esperada:
long long expected = 1;
Entrada:
long rows = 0;
long columns = 4;

Saída esperada:
long expected = 1;

Explicação

Existe apenas a rota reta de quatro movimentos para a direita.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.