Anda di halaman 1dari 3

CSGE602040 - Struktur Data dan Algoritma

Semester Genap - 2021/2022


Lab 4
Deadline: Rabu, 16 Maret 2022, 23.00 WIB

Boba Legends: Azuri

Deskripsi
Setelah penelitian kereta metaverse, Azuri diminta untuk membantu Paman Izuri mengevolusi
hewan-hewan ternaknya dengan makanan boba. Paman Izuri sebelumnya sudah memiliki rantai
evolusi (linear, tidak bercabang) yang mempunyai 𝑁 tahap. Evolusi selanjutnya dari sebuah tahap
ditandai dengan pasangan 𝑋, 𝑌 dimana 𝑋 akan berevolusi menjadi 𝑌.

Azuri akan melakukan sederetan aksi, meliputi 3 jenis aksi berikut:


- 1 𝑋 𝐾 : Paman Izuri bertanya apa evolusinya apabila 𝑋 diberikan sebanyak 𝐾 boba. 1 boba
menghasilkan 1 tahap evolusi, sehingga hewan akan berevolusi sebanyak 𝐾 kali. Boba bisa
saja bernilai negatif sehingga terjadi evolusi ke tahap sebelumnya. Jika jumlah boba melebihi
batas evolusi, maka aksi GAGAL.
- 2 𝑋 : Tahap 𝑋 dihapus dari rantai evolusi, tahap sebelum dan sesudah 𝑋 akan bersambung.
Apabila X tidak ada dalam rantai evolusi, maka aksi GAGAL.
- 3 𝑋 𝑌 : Ditambahkan tahap 𝑋 setelah 𝑌. Apabila 𝑌 tidak ada dalam rantai evolusi atau 𝑋
sudah ada dalam rantai evolusi, maka aksi GAGAL.

Format Masukan
- Baris pertama sebuah integer 𝑁 yang menandakan banyaknya tahap evolusi.
- 𝑁 baris berikutnya berisi pasangan 𝑋𝑖, 𝑌𝑖 dimana 𝑋𝑖 berevolusi menjadi 𝑌𝑖.
- Baris berikutnya sebuah integer 𝑄 yang menandakan banyaknya aksi yang dilakukan Paman
Izuri.
- 𝑄 baris berikutnya berisi aksi 1, 2, dan 3 beserta parameternya masing-masing sesuai
deskripsi.

Format Keluaran
Untuk setiap aksi yang dilakukan Azuri, keluarkan:
- 1. Nama tahap evolusi jika berhasil, GAGAL jika aksi gagal.
- 2 dan 3. BERHASIL atau GAGALnya aksi tersebut.

Batasan
1 ≤ 𝑁, 𝑄 ≤ 10000
1 ≤ |𝑋𝑖|, |𝑌𝑖| ≤ 8, 𝑋 dan 𝑌 huruf kapital
-10000 ≤ 𝐾 ≤ 10000
7
Σ|𝐾| ≤ 10
Pada aksi 1, dijamin 𝑋 ada di dalam rantai evolusi.

AS VHP | Lab 4 SDA Genap 2021/2022


Contoh Masukan
4
PIKADUT RAIDUT
PIDUT PIKADUT
GORODUT BOBADUT
RAIDUT GORODUT
8
1 PIKADUT 2
1 RAIDUT -3
2 BULBADUT
2 GORODUT
3 WARDUT SQUIRDUT
1 PIKADUT 2
3 CHARDUT RAIDUT
1 CHARDUT -3

Contoh Keluaran
GORODUT
GAGAL
GAGAL
BERHASIL
GAGAL
BOBADUT
BERHASIL
PIDUT

Penjelasan
- Dari peta evolusi yang diberikan tahap evolusinya adalah sebagai berikut:
PIDUT -> PIKADUT -> RAIDUT -> GORODUT -> BOBADUT
- 1 PIKADUT 2 : PIKADUT bisa berevolusi 2 kali menjadi GORODUT.
- 1 RAIDUT -3 : RAIDUT tidak bisa berevolusi 3 kali ke tahap sebelumnya, maka aksi GAGAL.
- 2 BULBADUT : BULBADUT tidak ada dalam rantai evolusi, maka aksi GAGAL.
- 2 GORODUT : GORODUT dihapus sehingga tahap evolusi menjadi:
PIDUT -> PIKADUT -> RAIDUT -> BOBADUT
Keluaran BERHASIL karena aksi berhasil.
- 3 WARDUT SQUIRDUT : SQUIRDUT tidak ada dalam rantai evolusi, maka aksi GAGAL.
- 1 PIKADUT 2 : PIKADUT bisa berevolusi 2 kali menjadi BOBADUT.
- 3 CHARDUT RAIDUT : CHARDUT ditambahkan ke tahap evolusi setelah RAIDUT, tahap
evolusi menjadi:
PIDUT -> PIKADUT -> RAIDUT -> CHARDUT -> BOBADUT
Keluaran BERHASIL karena aksi berhasil.
- 1 CHARDUT -3 : CHARDUT bisa berevolusi 3 kali ke tahap sebelumnya menjadi PIDUT.

AS VHP | Lab 4 SDA Genap 2021/2022


Keterangan Tambahan
● Wajib menggunakan Linked List, Anda diperbolehkan menggunakan LinkedList bawaan Java
atau membuat Linked List Anda sendiri. Akan ada penalti berupa pengurangan nilai untuk
submission yang bukan menggunakan Linked List. Besaran penalti akan ditentukan
kemudian.
● Diperbolehkan menggunakan ADT yang telah dipelajari di Lab-Lab sebelumnya. Gunakan Java
Collections API untuk membantu pekerjaan anda.

Informasi Tambahan Test-case


- Pada 25% test-case berlaku: 𝑁, 𝑄 ≤ 10
- Pada 50% test-case berlaku: 𝑁, 𝑄 ≤ 100

AS VHP | Lab 4 SDA Genap 2021/2022

Anda mungkin juga menyukai