Menu
Coddy logo textTech

Rasterpfade

Teil des Abschnitts Logik und Ablaufsteuerung der R-Journey von Coddy. Lektion 64 von 64.

challenge icon

Aufgabe

Schwer

Vervollständige count_paths(grid). grid ist eine Matrix aus 0 (offene Zellen) und 1 (Wänden). Ein Pfad beginnt in der Zelle oben links, endet in der Zelle unten rechts, bewegt sich nur nach rechts oder unten und betritt niemals eine Wand. Gib zwei Zeilen zurück: Paths: mit der Anzahl der verschiedenen Pfade und Steps: mit der Anzahl der Bewegungen in einem beliebigen Pfad (alle Pfade haben dieselbe Länge) oder Steps: none, wenn es keinen Pfad gibt.

Erstelle eine Matrix ways derselben Größe, in der jede Zelle die Anzahl der Pfade enthält, die sie erreichen: Eine offene Zelle erhält die Summe der Zelle darüber und der Zelle links von ihr, eine Wand erhält 0.

Der bereitgestellte Code liest das Raster aus einer Zeile ein: Zeilen werden durch ; und die Werte einer Zeile durch , getrennt. Er gibt jede zurückgegebene Zeile aus.

Probier es selbst

count_paths <- function(grid) {
  # Schreibe deinen Code hier
  c("Paths: 0", "Steps: none")
}

# Mitgelieferter Ein-/Ausgabecode: belasse ihn unverändert
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")

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-R-Compiler