Tujuan Anda adalah untuk menulis sebuah program yang menciptakan random 10x10 peta menggunakan 0
, 1
dan 2
, dan menemukan jalur terpendek dari atas-kiri ke kanan bawah, dengan asumsi bahwa:
0 mewakili bidang rumput: siapa pun bisa berjalan di atasnya;
1 melambangkan dinding: Anda tidak dapat melewatinya;
2 mewakili portal: saat memasuki portal, Anda dapat pindah ke portal lain di peta.
Spesifikasi:
- Elemen kiri atas dan kanan bawah harus 0 ;
- Saat membuat peta acak, setiap bidang harus memiliki peluang 60% menjadi 0 , 30% menjadi 1, dan 10% menjadi 2 ;
- Anda dapat bergerak di bidang yang bersebelahan (bahkan yang diagonal);
- Program Anda harus menampilkan peta dan jumlah langkah dari jalur terpendek;
- Jika tidak ada jalur yang valid yang mengarah ke bidang kanan bawah, program Anda harus menampilkan peta saja;
- Anda dapat menggunakan sumber daya apa pun yang Anda inginkan;
- Kode terpendek menang.
Langkah-langkah perhitungan:
Langkah adalah gerakan aktual; setiap kali Anda mengubah bidang, Anda menambah penghitung.
Keluaran:
0000100200
0100100010
1000000111
0002001000
1111100020
0001111111
0001001000
0020001111
1100110000
0000020100
9