Menu
Coddy logo textTech

Пути на сетке

Часть раздела Логика и потоки выполнения путешествия по R на Coddy. Урок 64 из 64.

challenge icon

Задание

Сложно

Завершите count_paths(grid). grid — это матрица из 0 (свободные ячейки) и 1 (стены). Путь начинается в верхней левой ячейке, заканчивается в нижней правой ячейке, проходит только вправо или вниз и никогда не входит в стену. Верните две строки: Paths: с количеством различных путей и Steps: с количеством перемещений в любом пути (все пути имеют одинаковую длину) или Steps: none, если пути нет.

Создайте матрицу ways того же размера, где каждая ячейка содержит количество путей, достигающих её: свободная ячейка получает сумму значений ячейки сверху и ячейки слева, а стена получает 0.

Предоставленный код считывает сетку из одной строки: строки разделяются с помощью ;, а значения в строке — с помощью ,. Он выводит каждую возвращённую строку.

Попробуйте сами

count_paths <- function(grid) {
  # Напишите свой код здесь
  c("Paths: 0", "Steps: none")
}

# Предоставленный код ввода/вывода: оставьте его как есть
input <- suppressWarnings(readLines(file("stdin")))
rows <- strsplit(input[1], ";")[[1]]
grid <- matrix(as.numeric(unlist(strsplit(rows, ","))), nrow = length(rows), byrow = TRUE)
cat(count_paths(grid), sep = "\n")

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор R