Menu
CoddyTech

Đường đi trên lưới

Thuộc phần Logic và luồng điều khiển trong hành trình R của Coddy. Bài học 64 trên 64.

challenge icon

Thử thách

Khó

Hoàn thiện count_paths(grid). grid là một ma trận gồm các ô 0 (ô trống) và 1 (ô tường). Một đường đi bắt đầu ở ô trên cùng bên trái, kết thúc ở ô dưới cùng bên phải, chỉ di chuyển sang phải hoặc xuống dưới và không bao giờ đi vào ô tường. Trả về hai dòng: Paths: kèm số đường đi khác nhau và Steps: kèm số bước di chuyển của một đường đi bất kỳ (mọi đường đi đều có cùng độ dài), hoặc Steps: none nếu không có đường đi.

Tạo một ma trận ways có cùng kích thước, trong đó mỗi ô lưu số đường đi đến ô đó: một ô trống nhận tổng số đường đi của ô phía trên và ô bên trái, còn ô tường nhận giá trị 0.

Code được cung cấp đọc ma trận từ một dòng: các hàng được phân tách bằng ;, còn các giá trị trong một hàng được phân tách bằng ,. Code in ra từng dòng được trả về.

Tự làm thử

count_paths <- function(grid) {
  # Viết code của bạn ở đây
  c("Paths: 0", "Steps: none")
}

# Đoạn code đầu vào/đầu ra đã được cung cấp: giữ nguyên
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")

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch R online