Menu
Coddy logo textTech

Ścieżki na siatce

Część sekcji Logika i przepływ sterowania ścieżki R w Coddy. Lekcja 64 z 64.

challenge icon

Wyzwanie

Trudny

Uzupełnij count_paths(grid). grid to macierz zawierająca zera (wolne pola) i jedynki (ściany). Ścieżka zaczyna się w lewym górnym polu, kończy w prawym dolnym polu, prowadzi tylko w prawo lub w dół i nigdy nie przechodzi przez ścianę. Zwróć dwa wiersze: Paths: z liczbą różnych ścieżek oraz Steps: z liczbą ruchów na dowolnej ścieżce (wszystkie ścieżki mają tę samą długość) albo Steps: none, jeśli nie ma żadnej ścieżki.

Utwórz macierz ways o tym samym rozmiarze, w której każda komórka zawiera liczbę ścieżek, które do niej prowadzą: wolna komórka otrzymuje sumę wartości komórki powyżej i komórki po lewej, a ściana otrzymuje 0.

Dostarczony kod wczytuje siatkę z jednego wiersza: wiersze są oddzielone znakiem ;, a wartości w wierszu znakiem ,. Wyświetla każdy zwrócony wiersz.

Spróbuj swoich sił

count_paths <- function(grid) {
  # Wpisz tutaj swój kod
  c("Paths: 0", "Steps: none")
}

# Dostarczony kod wejścia/wyjścia: pozostaw go bez zmian
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")

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator R online