Jalur pada Kisi
Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 64 dari 64.
Tantangan
SulitLengkapi count_paths(grid). grid adalah matriks berisi 0 (sel terbuka) dan 1 (tembok). Jalur dimulai dari sel kiri atas, berakhir di sel kanan bawah, hanya bergerak ke kanan atau ke bawah, dan tidak pernah memasuki tembok. Kembalikan dua baris: Paths: dengan jumlah jalur yang berbeda, dan Steps: dengan jumlah langkah dalam jalur mana pun (semua jalur memiliki panjang yang sama), atau Steps: none jika tidak ada jalur.
Buat matriks ways dengan ukuran yang sama, tempat setiap sel menyimpan jumlah jalur yang mencapainya: sel terbuka mendapat jumlah nilai dari sel di atasnya dan sel di sebelah kirinya, sedangkan tembok mendapat 0.
Kode yang disediakan membaca grid dari satu baris: baris-baris dipisahkan dengan ; dan nilai dalam satu baris dipisahkan dengan ,. Kode ini mencetak setiap baris yang dikembalikan.
Coba sendiri
count_paths <- function(grid) {
# Tulis kodemu di sini
c("Paths: 0", "Steps: none")
}
# Kode input/output yang disediakan: biarkan apa adanya
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")
Semua pelajaran di Logika dan Alur
1Mendalami string
Substring dengan substr()Memformat dengan sprintf()Memisahkan dan MenggabungkanMencari stringMengganti TeksRangkuman: Pembuat Nama Pengguna4Matriks
Membuat MatriksMengakses Elemen MatriksRingkasan Baris dan KolomAritmetika MatriksRangkuman: Denah Tempat Duduk2Pencarian Nilai-Kunci
Pencarian pada Vector BernamaMemeriksa KunciMenambahkan dan Menghapus KunciMenelusuri NamaUlasan: Meja Saham5Proyek, Buku Nilai
Menambahkan SiswaMencatat Nilai3Set dan Penghitungan
Nilai UnikOperasi setPengujian KeanggotaanMenghitung dengan table()Ulasan: Tamu Acara6Fungsi sebagai Nilai
Fungsi AnonimMengirim FungsiMengembalikan FungsiClosure dengan StateRangkuman: Aturan Diskon9Data Frame
Membuat Data FrameKolom dan BarisMemfilter BarisMenambahkan dan MengurutkanRangkuman: Laporan Penjualan12Proyek: Pelacak Pengeluaran
Mencatat PengeluaranTotal PengeluaranLatihan sendiri: Compiler R online