Tantangan
Dengan ukuran kisi, posisi rintangan, posisi pemain, dan posisi target, tugas Anda adalah menemukan jalur bagi pemain untuk mencapai target dan menghindari rintangan pada saat yang bersamaan (jika perlu).
Memasukkan
- N : Ukuran kisi
N x N - P : Posisi pemain
[playerposx, playerposy] - T : Posisi target
[targetposx, targetposy] - O : Posisi penghalang
[[x1, y1], [x2, y2],...,[xn, yn]]
Keluaran
Jalur : Pemain jalur dapat digunakan untuk mencapai target[[x1, y1], [x2, y2],...,[xn, yn]]
Aturan
- Intinya
[0,0]adalah di sudut kiri atas grid. - Posisi pemain akan selalu berada di sisi kiri kotak.
- Posisi target akan selalu berada di sisi kanan grid.
- Grid akan selalu memiliki setidaknya satu kendala.
- Anda dapat mengasumsikan bahwa tidak ada halangan yang menimpa pemain atau posisi target.
- Anda tidak perlu menemukan jalur min.
- Pemain hanya bisa bergerak ke kiri, kanan, atas dan bawah tidak secara diagonal.
- Anda dapat mengambil input dengan cara apa pun yang nyaman.
- Anda dapat mengasumsikan bahwa jalur untuk mencapai target selalu ada.
- Jelas, untuk setiap input beberapa jalur yang valid ada, pilih satu.
- Anggap
N > 2saja kisi itu setidaknya3 x 3.
Contohnya
Input: 9, [6, 0], [3, 8], [[0, 5], [2, 2], [6, 4], [8, 2], [8, 7]]
Kemungkinan Output:[[6, 0], [6, 1], [6, 2], [6, 3], [5, 3], [5, 4], [5, 5], [5, 6], [5, 7], [5, 8], [4, 8], [3, 8]]
Input: 6, [1, 0], [3, 5], [[1, 2], [2, 5], [5, 1]]
Kemungkinan Output:[[1, 0], [1, 1], [2, 1], [2, 2], [2, 3], [2, 4], [3, 4], [3, 5]]
Catatan
Perhatikan itu Xuntuk baris dan Yuntuk cols. Jangan membingungkan mereka dengan koordinat dalam gambar.
Edit
Seperti @digEmAll tunjukkan, karena aturan #2dan #3, playerY = 0dan targetY = N-1. Jadi, jika mau, Anda dapat mengambil sebagai input saja playerXdan dan targetX(jika itu membuat kode Anda lebih pendek).
