37 lines
1.3 KiB
Markdown
37 lines
1.3 KiB
Markdown
# Pita_Angka
|
||
|
||
## Strategi Penyelesaian Soal Pita Angka dengan Python
|
||
|
||
## Deskripsi Soal
|
||
Terdapat sebuah pita yang berisi angka-angka unik dan acak. Sebuah pena berada di atas pita dan bisa digerakkan ke kiri atau kanan. Tugas kita adalah memberi tanda pada angka-angka tersebut dari angka terkecil ke terbesar, dan menghitung total jarak perpindahan pena saat proses tersebut.
|
||
|
||
### Aturan
|
||
1. semua angka unik dan disusun dalam satu baris.
|
||
2. Pena awalnya berada di posisi paling kiri (indeks ke-0).
|
||
3. Pena harus digunakan untuk menandai angka dari yang terkecil ke terbesar.
|
||
4. Biaya pergeseran pena: 10 cm per langkah (antar indeks).
|
||
5. Hasil akhir adalah total jarak perpindahan pena dalam cm.
|
||
|
||
## Contoh Kasus
|
||
### Input:
|
||
4 8 2 1 5 7 9
|
||
|
||
Urutan dari kecil ke besar:
|
||
1 (posisi 3), 2 (posisi 2), 4 (posisi 0), 5 (posisi 4), 7 (posisi 5), 8 (posisi 1), 9 (posisi 6)
|
||
|
||
Perpindahan pena:
|
||
0 → 3 → 2 → 0 → 4 → 5 → 1 → 6
|
||
|
||
Total langkah: 3 + 1 + 2 + 4 + 1 + 4 + 5 = 20 langkah
|
||
Total jarak: 20 × 10 cm = 200 cm
|
||
|
||
## Strategi Penyelesaian dengan Python
|
||
Langkah-langkah:
|
||
1. Input: Deret angka dipisahkan oleh spasi.
|
||
2. Simpan posisi asli setiap angka menggunakan dictionary.
|
||
3. Urutkan angka dari kecil ke besar.
|
||
4. Simulasikan gerakan pena:
|
||
- Mulai dari indeks ke-0.
|
||
- Hitung jarak antar indeks, kali 10.
|
||
- Tambahkan ke total jarak.
|
||
- Pindahkan posisi pena. |