Menu
Coddy logo textTech

Caminhos na Grade

Parte da seção Lógica e Fluxo do Journey de R da Coddy. Lição 64 de 64.

challenge icon

Desafio

Difícil

Complete count_paths(grid). grid é uma matriz de 0s (células livres) e 1s (paredes). Um caminho começa na célula superior esquerda, termina na célula inferior direita, move-se apenas para a direita ou para baixo e nunca entra em uma parede. Retorne duas linhas: Paths: com o número de caminhos diferentes e Steps: com o número de movimentos em qualquer caminho (todos os caminhos têm o mesmo comprimento), ou Steps: none quando não houver caminho.

Construa uma matriz ways do mesmo tamanho, na qual cada célula contém o número de caminhos que chegam até ela: uma célula livre recebe a soma da célula acima e da célula à sua esquerda, e uma parede recebe 0.

O código fornecido lê a grade a partir de uma linha: as linhas são separadas por ; e os valores de uma linha por ,. Ele imprime cada linha retornada.

Experimente você mesmo

count_paths <- function(grid) {
  # Escreva seu código aqui
  c("Paths: 0", "Steps: none")
}

# Código de entrada/saída fornecido: mantenha-o como está
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")

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de R online