Menu
CoddyTech

网格路径

本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 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 在线编译器