Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Equation
- Batas Waktu 1 detik
- Batas Memori 32 MB
- Deskripsi
- Abra diberi soal matematika menantang!
- Diberikan N bilangan bulat positif (tidak melebihi 500), N-1 operator, dan sebuah bilangan bulat X, Abra harus menyusun sebuah persamaan dengan bilangan-bilangan dan operator-operator tersebut sehingga hasil dari persamaannya adalah X (dijamin X muat dalam 64-bit integer).
- Peraturan:
- Abra tidak boleh menggabungkan dua bilangan bulat positif untuk membentuk sebuah bilangan bulat yang lebih besar.
- Operator harus diapit langsung oleh dua bilangan bulat. (mis: 70 + 100 * 3 / 4).
- Presedensi operator mengikuti aturan dalam matematika. Bila ada kesetaraan, dihitung dari kiri ke kanan.
- Pembagian a / b hanya dilakukan jika b habis membagi a. (Abra belum mengenal bilangan desimal)
- Abra harus mengunakan semua bilangan bulat positif dan operator dalam persamaannya!
- Format Masukan
- Pada awalnya, program Anda akan menerima header kasus uji.
- Header kasus uji berisi sebuah string yang dijelaskan sebagai berikut:
- Panjang string tersebut adalah banyaknya subsoal.
- Untuk setiap nilai i antara 1 hingga banyaknya subsoal:
- jika kasus uji tersebut memenuhi batasan subsoal ke-i, maka karakter ke-i berisi i, atau
- jika kasus uji tersebut tidak memenuhi batasan subsoal ke-i, maka karakter ke-i berisi karakter '.'
- Sebagai contoh apabila header sebuah kasus uji sebuah soal adalah 1...567, maka:
- Soal tersebut memiliki 7 buah subsoal (sesuai dengan panjang string tersebut), dan
- Kasus uji tersebut memenuhi batasan subsoal ke-1, ke-5, ke-6, dan ke-7.
- Masukan terdiri dari beberapa soal. Setiap soal terdiri dari tiga baris. Baris pertama berisi bilangan bulat N dan X. Baris kedua berisi N bilangan bulat positif yang dipisahkan dengan spasi. Baris ketiga berisi N-1 operator dipisahkan dengan spasi.
- Format Keluaran
- Satu baris untuk setiap soal. Format keluaran harus seperti "Soal #i: IYA/TIDAK", dengan i menandakan soal ke-i. Keluarkan "IYA" jika Abra bisa membentuk persamaan yang nilainya X. Jika tidak ada persamaan yang memenuhi, keluarkan "TIDAK".
- Contoh Masukan
- ..34
- 3 7
- 1 2 3
- + *
- 4 145
- 3 4 70 100
- + * /
- 2 1000
- 2 2
- *
- 4 2
- 1 1 2 4
- / / *
- Contoh Keluaran
- Soal #1: IYA
- Soal #2: IYA
- Soal #3: TIDAK
- Soal #4: IYA
- Penjelasan
- Untuk soal #1, Abra dapat membentuk 1 + 2 * 3 yang hasilnya adalah 7. Untuk soal #2, Abra dapat membentuk 70 + 100 * 3 / 4 yang hasilnya adalah 145. Pada soal #3, mustahil untuk dua kali dua sama dengan seribu.
- Perhatian! Untuk soal #4, Abra dapat membentuk 4 * 1 / 2 / 1 yang hasilnya adalah 2.
- Subsoal
- Terdapat empat subsoal untuk soal ini. Untuk semua subsoal berlaku:
- Bilangan-bilangan yang diberikan tidak melebihi 500
- Operator-operator yang diberikan adalah salah satu dari antara '+', '-', '*', dan '/'
- 2 ≤ N ≤ 7
- Subsoal 1 (6 poin)
- Kasus uji dapat diunduh di sini.
- Subsoal 2 (6 poin)
- Kasus uji dapat diunduh di sini.
- Subsoal 3 (24 poin)
- Banyak soal tidak melebihi 5.
- Subsoal 4 (64 poin)
- Banyak soal tidak melebihi 25.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement