Все задачи
Средне Решено: 0 Процент решений: 0%

Подсчёт путей на сетке

Посчитайте количество маршрутов по прямоугольной сетке, используя только движения вправо и вниз.

Начните в левом верхнем углу сетки с количеством ячеек rows на columns. Передвигайтесь только по рёбрам ячеек: на каждом шаге либо на одну ячейку вправо, либо на одну ячейку вниз, пока не достигнете правого нижнего угла. Посчитайте количество различных последовательностей ходов. В сетке нет препятствий.

Для сетки с 2 строками и 3 столбцами потребуется ровно 2 движения вниз и 3 движения вправо.

Реализуйте функцию lattice_paths(rows, columns).

Ввод

rows: Количество строк ячеек, не вершин.

columns: Количество столбцов ячеек, не вершин.

Вывод

Верните количество маршрутов из угла в угол.

Ограничения

0 ≤ rows, columns ≤ 30 и rows + columns ≤ 60. Ноль в одном из измерений означает единственный прямой маршрут. Для сетки 0 × 0 существует один пустой маршрут. Все значения помещаются в знаковый 64-битный тип.

Примеры

Пример 1
Ввод:
rows = 2
columns = 3

Ожидаемый вывод:
expected = 10
Ввод:
long long rows = 2;
long long columns = 3;

Ожидаемый вывод:
long long expected = 10;
Ввод:
long rows = 2;
long columns = 3;

Ожидаемый вывод:
long expected = 10;

Пояснение

Каждый маршрут состоит из пяти ходов. Выбирая, какие два из них будут вниз, получаем десять различных маршрутов.

Пример 2
Ввод:
rows = 0
columns = 4

Ожидаемый вывод:
expected = 1
Ввод:
long long rows = 0;
long long columns = 4;

Ожидаемый вывод:
long long expected = 1;
Ввод:
long rows = 0;
long columns = 4;

Ожидаемый вывод:
long expected = 1;

Пояснение

Есть только один прямой маршрут из четырёх движений вправо.

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.