0Pricing
Competitive Programming Academy · Pelajaran

Perjalanan pada Grid dan Vektor Arah

Bergerak dengan dx, dy dan tetap dalam batas

Perjalanan pada Grid dan Vektor Arah adalah pelajaran Competitive Programming Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Competitive Programming Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Competitive Programming Academy mencakup 4 pelajaran total.

Berjalan di Atas Kisi

Banyak simulasi berlangsung pada kisi yang terdiri dari baris dan kolom. Sebuah token mulai di suatu tempat dan bergerak sel demi sel mengikuti arah. 🗺️

Lacak Baris dan Kolom

Simpan posisi Anda sebagai pasangan (r, c). Baris menunjukkan posisi dari atas ke bawah, sedangkan kolom menunjukkan posisi dari kiri ke kanan.

r, c = 0, 0

Vektor Arah

Kodekan setiap gerakan sebagai vektor (dr, dc). Menambahkannya ke posisi Anda akan menggeser posisi satu sel ke arah tersebut tanpa memerlukan rangkaian kondisi.

dr, dc = 0, 1  # move right

Empat Tetangga

Simpan keempat gerakan dalam larik agar Anda dapat melakukan perulangan atas semuanya. Ini adalah pola standar atas, bawah, kiri, kanan.

DR = [-1, 1, 0, 0]
DC = [0, 0, -1, 1]

Ambil Satu Langkah

Untuk bergerak, cukup tambahkan vektor yang dipilih ke sel Anda saat ini. Dua baris yang sama dapat digunakan untuk keempat arah.

r += DR[k]
c += DC[k]

Tetap di Dalam Batas

Sebelum melangkah, periksa apakah sel tersebut berada di dalam kisi. Baris memiliki rentang 0 hingga R-1 dan kolom 0 hingga C-1; selain itu berada di luar papan.

if 0 <= r < R and 0 <= c < C:
    pass

Diagonal Jika Diizinkan

Beberapa soal juga mengizinkan gerakan diagonal. Tambahkan keempat vektor sudut untuk membuat kumpulan tetangga delapan arah.

DR8 = [-1,-1,-1,0,0,1,1,1]
DC8 = [-1,0,1,-1,1,-1,0,1]

Berbelok ke Kiri atau Kanan

Untuk robot yang dapat berbelok, putar indeks arah hadapnya alih-alih menuliskan berbagai kasus. Operasi modulo membuatnya terus berputar melalui keempat arah.

facing = (facing + 1) % 4  # turn right

Sel Terhalang dan Dinding

Periksa nilai kisi sebelum bergerak. Jika sebuah sel merupakan dinding, lewati atau berhentilah, tepat seperti yang dijelaskan oleh aturan.

if grid[r][c] == '#':
    continue

Kisi yang Bersambung Melingkar

Jika kisi bersambung melingkar, gunakan koordinat modulo ukurannya agar tepi kanan terhubung kembali ke tepi kiri dengan mulus.

r = (r + dr) % R
c = (c + dc) % C

Mengapa Vektor Lebih Unggul

Vektor arah menggantikan blok if-else yang rumit dengan satu perulangan yang rapi. Lebih sedikit percabangan berarti lebih sedikit kesalahan di bawah tekanan kontes.

Pemeriksaan Singkat

Anda berjalan di atas kisi menggunakan vektor arah dan harus tetap berada di papan.

Ringkasan

Simpan posisi sebagai (r, c), bergerak dengan menambahkan vektor arah, lakukan perulangan atas empat tetangga, dan selalu periksa batas sebelum melangkah. 🚀

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Perjalanan pada Grid dan Vektor Arah” gratis?

Ya — teks lengkap “Perjalanan pada Grid dan Vektor Arah” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Competitive Programming Academy, upgrade ke CoddyKit PRO. Kursus Competitive Programming Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Perjalanan pada Grid dan Vektor Arah”?

Bergerak dengan dx, dy dan tetap dalam batas Kamu berlatih Competitive Programming Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Competitive Programming Academy?

Tidak diperlukan pengalaman sebelumnya. Competitive Programming Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Perjalanan pada Grid dan Vektor Arah” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Competitive Programming Academy ini?

Ya. Setiap pelajaran Competitive Programming Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memodelkan State dan Melangkah Maju
  2. Perjalanan pada Grid dan Vektor Arah
  3. Deteksi Siklus dalam Simulasi
  4. Menaklukkan Kasus Tepi yang Rumit
← Kembali ke Competitive Programming Academy