Problema
Mostra originale (inglese)Parti dall'angolo in alto a sinistra di una griglia con celle disposte in rows righe e columns colonne. Muoviti solo lungo i bordi delle celle, un bordo alla volta verso destra oppure verso il basso, fino a raggiungere l'angolo in basso a destra. Conta tutte le sequenze di mosse distinte. La griglia non contiene ostacoli.
Una griglia con 2 righe e 3 colonne di celle richiede esattamente 2 mosse verso il basso e 3 verso destra.
Implementa lattice_paths(rows, columns).
Input
rows: Il numero di righe di celle, non di vertici.
columns: Il numero di colonne di celle, non di vertici.
Output
Restituisci il numero di percorsi dall'angolo all'angolo.
Vincoli
0 ≤ rows, columns ≤ 30 e rows + columns ≤ 60. Zero in una dimensione dà un percorso rettilineo. Una griglia 0 × 0 ha un unico percorso vuoto. I conteggi rientrano in un intero con segno a 64 bit.
Esempi
Input:
rows = 2
columns = 3
Output atteso:
expected = 10
Input:
long long rows = 2;
long long columns = 3;
Output atteso:
long long expected = 10;
Input:
long rows = 2;
long columns = 3;
Output atteso:
long expected = 10;
Spiegazione
Ogni percorso contiene cinque mosse. Scegliere quali due siano verso il basso dà dieci percorsi distinti.
Input:
rows = 0
columns = 4
Output atteso:
expected = 1
Input:
long long rows = 0;
long long columns = 4;
Output atteso:
long long expected = 1;
Input:
long rows = 0;
long columns = 4;
Output atteso:
long expected = 1;
Spiegazione
C'è solo il percorso rettilineo composto da quattro mosse verso destra.
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.