Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

dokumen-dokumen yang mirip
Berkas Soal Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

Final Programming Competition (Mahasiswa)

Berkas Soal Final Competitive Programming Tingkat SMA. CompFest Kontributor: Irwan Mulyawan Ricky Suryadharma Verdiyanto Saputra William Gozali

A. Jangkauan Terbesar

A. Segiempat Terluas

Pembahasan Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

A. Bayar atau Kabur. Format Masukan. Format Keluaran. Contoh Masukan

Hari 2 1. Robot Pempek 2. Belanja Suvenir 3. Wisata Palembang

Bundel Soal Sesi 2 Bidang Informatika Olimpiade Sains Nasional X

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

INFORMATIKA/KOMPUTER. Hari 0 (Sesi Latihan) 1. Empek-empek 2. Gunting Kertas 3. Matriks Biner

Final Programming Competition (SMA)

A. Mati Lampu. Format Masukan. Format Keluaran. Contoh Masukan. Contoh Keluaran

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Problem A. Liga Adu Ayam

PENYISIHAN PEMROGRAMAN GEMASTIK

Hari 1 / Soal 1: Bukit dan Lembah

Emoticon Waca. Time limit: 2 s. Memory limit: 64 MB

Nama Soal Peta Jalan Batas Waktu - Nama Berkas peta[no.urut].out.[1..10] Batas Memori - Tipe output only Sumber Prima Chairunnanda

OLIMPIADE SAINS NASIONAL VIII

Berkas Soal Penyisihan Competitive Programming Tingkat SMA. CompFest Kontributor: Ashar Fuadi Gede Wahyu Adi Pramana William Gozali

OLIMPIADE SAINS NASIONAL 2015 DESKRIPSI SOAL

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

Arkavi vs Raja Setan

Problem A Divisible compfest1.c / compfest1.cpp / compfest1.pas Runtime-limit: 0.5 detik Memory-limit: 64 MB

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

OLIMPIADE SAINS NASIONAL IX

Penghasilan JokeMart

Bundel Soal Sesi 3 Bidang Informatika Olimpiade Sains Nasional X

Faktorial. Kode Soal: OSN601 Batas Run-time: 1 detik / test-case Batas Memori: 32 MB Masukan: Standard input Keluaran: Standard output

INFORMATIKA/KOMPUTER. Hari 0 (Sesi Latihan) 1. Empek-empek 2. Gunting Kertas 3. Matriks Biner

Sang Pelompat. Batas Waktu 1 detik. Batas Memori 64 MB

Kompetisi Pemrograman IV Babak Final

Algoritma + Pemrograman Pascal

Perkenalan. Tim Olimpiade Komputer Indonesia 1/23

OLIMPIADE SAINS NASIONAL VIII

SEMUA BERAWAL DARI PIKIRAN

SOAL PENYISIHAN PCS JOINTS

Problem A. Turnamen Panco

Sugeng Rawuh Malih Ing Ngayogyakarta

BIDANG STUDI : MATEMATIKA TINGKAT : MADRASAH ALIYAH

Pembahasan Penyisihan Competitive Programming Tingkat SMA. CompFest Kontributor: Ashar Fuadi Gede Wahyu Adi Pramana William Gozali

A. Catur. Time Limit : 1 detik

INFORMATIKA/KOMPUTER. Hari Pasar 16 Ilir 2. Menjinakkan Bom 3. Pos Wisata Sungai

OLIMPIADE SAINS TERAPAN NASIONAL 2008

Praktikum ASD: Basic Sorting

Identitas, bilangan identitas : adalah bilangan 0 pada penjumlahan dan 1 pada perkalian.

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

OLIMPIADE SAINS NASIONAL VII

Pertahanan Pekanbaru. Deskripsi. Format Masukan. Time limit: 1 s. Memory limit: 64 MB

Soal-soal dan Pembahasan Matematika Dasar SBMPTN-SNMPTN 2009

Olimpiade Sains Nasional 2015 Bidang Informatika. Pembahasan

1. Integer Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek

SOAL FINAL PROGRAMMING COMPETITION SESSION JOINTS 2013 UNIVERSITAS GADJAH MADA 19 MEI 2013

Deret Bilangan. Contoh soal Input 1 : Output 1: ARITMATIKA. Input 2 : Output 2: GEOMETRI. Input 3:

LOMBA MATEMATIKA NASIONAL KE-27

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

OSN 2013 Bidang Informatika. Pembahasan Soal

Soal 1 ITBPC Maling Motor. Kode soal : Batas Run-time : Batas Memori :

TINGGI KANDANG SUSUN

FAKTOR DAN KELIPATAN KELAS MARS SD TETUM BUNAYA

SCHEMATICS 2011 SOAL SCHEMATICS

OLIMPIADE SAINS NASIONAL VIII

BAB ANGAN. Tujuan Pembelajaran. Pernahkan kamu bermain ular tangga? Ada angka 1, 2, 3 dan seterusnya. Termasuk bilangan apa angka di ular tangga?

SUMBER BELAJAR PENUNJANG PLPG 2016 MATA PELAJARAN/PAKET KEAHLIAN GURU KELAS SD

Latihan Materi LOGIKA MATEMATIKA. 1. Tentukan negasi dari pernyataan-pernyataan berikut ini.

I Ken Bit Yu. Deskripsi. Format Masukan. Format Keluaran. Contoh Masukan. Time limit: 500 ms. Memory limit: 32 MB

KURSUS ONLINE JASA WEBMASTERS

Modul ini adalah modul ke-1 dalam mata kuliah Matematika. Isi modul ini

OLIMPIADE SAINS NASIONAL 2015 DESKRIPSI SOAL

Toko kami sudah dipasok manik-manik dua minggu sekali dan kancing baju seminggu sekali.

Problem A Kamus Panda

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Problem A. 3 Prima. Kasus #1: 2 Kasus #2: 1 Kasus #3: 135 Kasus #4: 20

4. Sebuah toko perlengkapan olahraga menyebarkan brosur sebagai berikut :

PETUNJUK UMUM OLMIPA UB 2013 BIDANG MATEMATIKA

I. KOMPETENSI INTI DAN KOMPETENSI DASAR MATEMATIKA SMPLB TUNARUNGU

TINJAUAN PUSTAKA. Pada bagian ini akan diberikan konsep dasar graf dan bilangan kromatik lokasi pada

NPC 2010 LEMBAR SOAL BABAK FINAL NPC NPC 2010 Be a Geeks, Enjoy your Code!!

Rencana Pelaksanaan Pembelajaran ( R P P )

STRATEGI PENYELESAIAN MASALAH (PROBLEM SOLVING STRATEGIES) EDDY HERMANTO

Free-download

Kesatu: Bertemu Tenis Meja Lewat Arena Sederhana

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

OLIMPIADE SAINS NASIONAL IX

SOAL FINAL LOGIKA ILPC 2011

Pembahasan Latihan Soal US SD/MI. Matematika. Latihan Soal Mata Pelajaran. Matematika. Oleh Team Uasbn.com

1. Bilangan Bulat Bilangan bulat adalah bilangan bukan pecahan yang terdiri dari bilangan :

Bab 2. Dasar-Dasar Pemrograman C

Struktur Data dan Algoritma IKI10400 Semester Gasal 2010/2011 Fakultas Ilmu Komputer Universitas Indonesia

Melakukan Operasi Hitung Bilangan Bulat dalam Pemecahan Masalah

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Bagi peserta OSN 2014 dan calon peserta Open OSN William Gozali, Teknis OSN

Pembahasan CP CompFest - SMA

Pelajaran 13 ANDA, SEORANG PAHLAWAN? Pentingnya Satu 29 Maret 2014

Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Transkripsi:

Berkas Soal Final Competitive Programming Tingkat Mahasiswa CompFest 2013 Kontributor: Alham Fikri Aji Cakra Wishnu Wardhana Gede Wahyu Adi Pramana Irvan Jahja Muhammad Febrian Ramadhana William Gozali 1

A. Pangeran Berti Batas Waktu: 2 detik Batas Memori: 32 MB Alkisah, ada seorang pangeran yang sangat tampan bernama Berti. Pangeran Berti ini lahir dari keluarga yang ternama. Hal ini membuat Pangeran Berti terkenal diberbagai penjuru kerajaan bahkan sejak Pangeran Berti masih balita. Kerajaan tempat pangeran Berti lahir ini juga merupakan sebuah kerajaan besar yang memiliki kekayaan luar biasa. Hal ini membuat kerajaan Pangeran Berti berada ini selalu memberikan bala bantuan di berbagai kerajaan lain di kala masa paceklik. Layaknya seorang pangeran muda yang tampan, Pangeran Berti gemar berkeliling kerajaan lain untuk sekedar melihat keadaan atau membangun relasi dengan kerajaan tersebut. Pangeran Berti biasa menunggangi kuda putih yang sangat gagah kemanapun ia pergi. Kombinasi ketampanan Pangeran Berti ditambah gayanya yang sangat gagah membuat setiap kali ia mengunjungi sebuah kerajaan, selalu saja ada wanita yang tergila-gila padanya. Ketampanan Berti sungguh luar biasa sehingga siapa pun yang jatuh cinta padanya, maka rasa cintanya akan bersifat permanen dan tidak hilang ditelan masa. Suatu ketika, terjadi bencana alam yang menyebabkan banyak kerajaan menjadi jatuh miskin. Raja Chrismartin (ayahanda dari Pangeran Berti) memerintahkan Pangeran Berti untuk mengirimkan bala bantuan kepada kerajaan-kerajaan tetangganya. Namun, karena Pangeran Berti adalah manusia biasa, ia hanya memiliki 2 tangan. Sehingga ia hanya bisa membantu 2 kerajaan saja. Ia harus memilih kerajaan mana yang ia tolong. Karena Raja Chrismartin sangat mencintai Pangeran Berti, ia melarang Pangeran Berti berangkat ke sebuah kerajaan yang belum pernah ia kunjungi sebelumnya. Selain itu, karena ketampanan Pangeran Berti menyebabkan banyak wanita tergila-gila padanya. Ketika sang pangeran tidak memberikan bala bantuan kepada suatu kerajaan, maka wanita-wanita di kerajaan tersebut akan sedih. Pangeran Berti tentu tidak ingin banyak wanita menjadi sedih karena tidak dikunjungi olehnya. Namun, ia tahu ia hanya dapat mengunjungi 2 kerajaan saja. Bantulah Pangeran Berti menentukan 2 kerajaan yang harus ia kunjungi agar banyaknya wanita yang sedih sesedikit mungkin! Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Baris pertama merupakan bilangan N, dimana N adalah kerajaan yang pernah Pangeran Berti kunjungi. N baris berikutnya terdiri dari dari K dan W, dimana K adalah nama kerajaan yang Pangeran Berti kunjungi dan W adalah jumlah wanita yang menjadi tergila-gila karena kedatangan Pangeran Berti di kerajaan tersebut. Perlu diketahui karena Pangeran Berti sangat 2

tampan dan dapat memikat jutaan wanita, jumlah W selalu berformat "X Juta". Pangeran Berti dapat mengunjungi sebuah kerajaan lebih dari sekali. Format Keluaran Untuk setiap kasus uji, keluarkan sebuah baris berformat "M Juta", dimana M adalah banyaknya wanita yang menjadi sedih karena tidak dikunjungi Pangeran Berti. Keluarkan M sekecil mungkin berdasarkan peraturan di atas. Contoh Masukan 1 5 tekris 5 Juta roma 4 Juta tekris 3 Juta depok 9 Juta jakarta 7 Juta Contoh Keluaran 11 Juta Penjelasan Pangeran Berti harus mengujungi kerajaan "tekris" dan "depok". Akibatnya, 11 juta wanita yang tergila-gila padanya di kerajaan "roma" atau "jakarta" menjadi sedih. Meskipun demikian, tidak ada cara lain sehingga banyaknya wanita yang sedih lebih sedikit dari 11 juta. Batasan 1 T 20 2 N 20 K merupakan sebuah string yang mengandung minimal satu karakter, dan maksimal 10 karakter. String ini hanya terusun atas karakter 'a' sampai 'z'. 1 W 10 3

B. Ini Prima? Batas Waktu: 2 detik Batas Memori: 32 MB Pak Chanek adalah seorang yang senang dengan permainan bilangan. Ia juga sangat suka dengan bilangan prima karena bilangan prima adalah bilangan yang lebih dari 1 dan memiliki tepat 2 faktor pembagi. Pak Chanek tahu, jika FPB (Faktor Persekutuan Terbesar) dari dua bilangan adalah 1, maka kedua bilangan tersebut dikatakan relatif prima. Teman Pak Chanek memberikan sebuah tantangan. Pak Chanek akan diberikan beberapa baris yang berisikan N buah bilangan bulat positif. Dia diminta untuk menentukan apakah setiap baris tersebut termasuk dalam baris prima total. Sebuah baris dikatakan prima total jika setiap pasangan bilangan di baris tersebut relatif prima. Bantulah Pak Chanek untuk menentukan apakah baris-baris yang diberikan termasuk dalam baris prima total atau tidak! Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Sebuah bilangan bulat N dan diikuti oleh N buah bilangan bulat positif Y i yang dipisahkan dengan spasi. Format Keluaran Untuk setiap kasus uji, keluarkan "YA" jika baris tersebut merupakan baris prima total, atau keluarkan "TIDAK" jika sebaliknya. Contoh Masukan 3 3 2 3 4 4 2 3 5 7 5 5 7 9 11 13 Contoh Keluaran TIDAK YA YA 4

Batasan 1 T 10 2 N 50.000 2 Y i 1.000.000 Catatan FPB dari bilangan X dan Y adalah bilangan Z, sedemikian sehingga Z habis membagi X, Z juga habis membagi Y, dan nilai Z sebesar mungkin. 5

C. Pembiakan Hibrida Batas Waktu: 2 detik Batas Memori: 64 MB Pak Chanek sedang melakukan penelitian tentang tumbuhan. Dengan kerja kerasnya, dia sudah mengumpulkan N spesies tumbuhan dari berbagai belahan dunia. Kemudian dia terpikir untuk melakukan pembiakan hibrida dan menghasilkan keturunan unggul, dengan mengawinkan dua tumbuhan dari jenis yang berbeda. Sayangnya, pembiakan hibrida bisa saja menghasilkan keturunan yang tidak unggul. Untuk memprediksi kesuksesan hibrida, Pak Chanek sudah memberikan setiap tumbuhannya dua nilai. Kita akan menyebutnya nilai kesuburan (P) dan nilai ketahanan (Q). Demi kemudahan, jika sebuah tumbuhan memiliki nilai kesuburan sebesar 20 dan nilai ketahanan sebesar 17, maka Pak Chanek menyatakan tumbuhan itu memiliki P = 20 dan Q = 17. Jika dua tumbuhan dikawinkan, peluang suksesnya jenis hibrida unggul yang dihasilkan ditentukan oleh "nilai penolakan" mereka. Nilai penolakan dari perkawinan tumbuhan yang memiliki P = A dan Q = B dengan tumbuhan lain yang memiliki P = C dan Q = D didefinisikan dengan A C + B D. Semakin kecil nilai penolakan, semakin besar peluang suksesnya. Sekarang Pak Chanek memiliki M pertanyaan yang berbunyi: "Jika saya ingin mengawinkan tumbuhan dengan nilai P dan Q tertentu, dengan salah satu dari N spesies tumbuhan yang saya miliki, berapa nilai penolakan minimal yang mungkin?" Tugas Anda adalah menjawab pertanyaan-pertanyaan Pak Chanek! Format Masukan Berkas masukan hanya terdiri atas sebuah kasus uji. Baris pertama berisi dua bilangan bulat yang dipisahkan dengan spasi, N dan M. N baris berikutnya berisi dua bilangan bulat yang dipisahkan dengan spasi, yaitu nilai P dan Q dari tumbuhan yang dimiliki Pak Chanek. M baris berikutnya berisi dua bilangan yang dipisahkan dengan spasi, yaitu nilai P dan Q dari tumbuhan yang ditanyakan Pak Chanek. Format Keluaran Keluarkan M buah baris. Bilangan ke-i adalah nilai penolakan minimal yang mungkin untuk pertanyaan ke-i dari Pak Chanek. 6

Contoh Masukan 3 4 3 5 1 17 8 6 1 1 1 8 8 1 5 3 Contoh Keluaran 8 43 25 30 Penjelasan Untuk pertanyaan pertama, kawinkan dengan tumbuhan yang memiliki P = 3 dan Q = 5, sehingga nilai penolakannya adalah 8. Nilai penolakan ini merupakan nilai terkecil yang mungkin. Batasan 1 N 50.000 1 M 50.000 Nilai ketahanan dan kesuburan selalu berupa bilangan bulat non-negatif yang besarnya tidak lebih dari 2.000.000.000. 7

D. Pilihan Ganda Campuran Batas Waktu: 3 detik Batas Memori: 128 MB Setelah lulus ujian sertifikasi, Pak Chanek memutuskan untuk menguji kemampuannya lewat ujian "Liga Bulu Tangkas". Ujian ini sebenarnya agak unik, karena model soal yang diberikan adalah "pilihan ganda campuran". Pak Chanek dihadapkan pada secarik kertas berisi N soal, yang dinomori dari 1 sampai N. Setiap soal memiliki P pilihan jawaban, yaitu pilihan ke-1, ke-2,..., ke-p. Uniknya, setiap soal bisa saja memiliki lebih dari satu jawaban. Sebagai contoh, jawaban benar untuk soal ke-3 mungkin saja pilihannya yang ke-2 dan ke-4. Cukup dengan memilih salah satu dari jawaban itu, Pak Chanek dianggap menjawab dengan benar. Nilai ujian yang didapatkan sama dengan banyaknya soal yang dijawab dengan benar. Untuk membuat ujian lebih aneh lagi, dalam ujian tersebut Pak Chanek hanya diizinkan untuk menjawab dengan pilihan ke-i paling banyak B i kali. Lebih dari itu, dia akan mendapatkan 0 untuk ujiannya. Meskipun begitu, Pak Chanek boleh saja memilih untuk tidak menjawab suatu soal. Untuk setiap soal, Pak Chanek tahu pilihan mana yang merupakan jawaban untuk soal itu. Namun, adanya aturan-aturan tersebut mengakibatkan Pak Chanek kesulitan dalam mendapatkan nilai setinggi-tingginya. Tugas Anda adalah membantu Pak Chanek mengatur strategi menjawab ujiannya, sedemikian sehingga nilai ujian yang dia dapatkan setinggi mungkin! Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Baris pertama berisi dua bilangan bulat yang dipisahkan dengan spasi, yaitu N dan P. N baris berikutnya berisi deskripsi untuk suatu soal. Baris ke-i diawali dengan D i, banyaknya jawaban benar untuk soal ke-i. D i bilangan berikutnya menyatakan nomor-nomor pilihan yang merupakan jawaban benar untuk soal tersebut, masing-masing dipisahkan dengan spasi. Baris terakhir berisi P bilangan bulat yang dipisahkan dengan spasi. Bilangan ke-i adalah B i. Format Keluaran Untuk setiap kasus uji, keluarkan nilai terbanyak yang bisa didapat Pak Chanek. 8

Contoh Masukan 3 5 3 2 1 2 1 1 1 2 1 3 2 2 3 2 2 2 3 2 2 1 2 2 1 2 2 1 2 1 1 4 3 2 1 3 1 1 1 3 1 1 1 2 2 Contoh Keluaran 5 2 3 Penjelasan Untuk contoh kasus pertama, jawab soal-soal itu secara berurutan dengan pilihan ke-1, ke-1, ke-2, ke-3, dan ke-3. Untuk contoh kasus kedua, jawab soal pertama pilihan ke-1, soal kedua dengan pilihan ke-2, dan untuk soal ke-3 tidak dijawab. Batasan 1 T 20 1 N 50 1 P 10 1 D i P, untuk 1 i N Daftar jawaban benar untuk setiap soal adalah himpunan bagian tak kosong dari {1, 2,..., P} 1 B i N, untuk 1 i P 9

E. Selai Kue Batas Waktu: 2 detik Batas Memori: 32 MB Hari ini Anda menjabat sebagai tukang kue di Roti Chanek. Anda mampu membuat kue dengan berbagai selai, dan Anda memiliki N jenis selai. Untuk memudahkan, selai akan dinomori dari 1 sampai dengan N. Setiap selai memiliki probabilitas tertentu dipakai sebagai selai dari kue yang dipesan pelanggan. Probabilitas selai ke-i akan dipakai adalah X i persen. Probabilitas selai ini independen satu dengan selai lainnya. Dengan kata lain, probabilitas sebuah selai digunakan tidak bergantung dengan selai lainnya. Setiap kue hanya dapat memiliki maksimal 1 selai dari setiap jenisnya. Meskipun begitu, setiap kue dapat memiliki beberapa jenis selai. Kue juga mungkin saja tidak memiliki selai apapun. Hari ini Anda mendapat M pesanan. Anda akan mengerjakan pesanan tersebut satu demi satu. Untuk setiap kue, Anda akan menanyakan selai mana saja yang hendak dipakai kepada pelanggan. Setelah mendapatkan jawaban, Anda harus menggunakan semua selai yang dipesan pelanggan tersebut. Untuk setiap kue, tentukan nilai harapan dari banyaknya selai pada kue tersebut yang belum pernah dipakai pada kue-kue sebelumnya pada hari ini! Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Baris pertama berisi dua buah bilangan bulat N dan M, dipisahkan oleh spasi. N baris berikutnya berisi sebuah bilangan bulat. Bilangan ke-i di baris ini adalah X i. Format Keluaran Untuk setiap kasus uji, keluarkan M baris dengan sebuah bilangan di setiap barisnya. Bilangan di baris ke-i ini adalah nilai harapan dari banyaknya selai pada kue ke-i yang belum pernah dipakai pada kue-kue sebelumnya pada hari itu. Lakukan pembulatan ke dalam tiga angka di belakang koma menurut aturan pada catatan di bagian bawah soal ini. Contoh Masukan 2 2 2 43 100 10

4 5 23 80 69 74 Contoh Keluaran 1.430 0.245 2.460 0.743 0.285 0.145 0.092 Penjelasan Untuk contoh kasus pertama, terdapat 4 kemungkinan kejadian: Selai kue 1 Selai kue 2 Selai baru (kue 1) Selai baru (kue 2) Peluang Kejadian {2} {2} 1 0 0.3249 {2} {1, 2} 1 1 0.2451 {1, 2} {2} 2 0 0.2451 {1, 2} {1, 2} 2 0 0.1849 Nilai harapan dari banyaknya selai pada kue 1 yang belum pernah dipakai pada kue-kue sebelumnya pada hari ini dapat dihitung dengan (0.3249 1) + (0.2451 1) + (0.2451 2) + (0.1849 2) = 1.4300 Nilai harapan dari banyaknya selai pada kue 2 yang belum pernah dipakai pada kue-kue sebelumnya pada hari ini dapat dihitung dengan (0.3249 0) + (0.2451 1) + (0.2451 0) + (0.1849 0) = 0.2451 Batasan 1 T 10 1 N 100.000 1 M 50.000 0 X i 100 11

Catatan Bila Anda memerlukan penggunaan tipe data bilangan real, disarankan menggunakan tipe data double. Jika Anda menyimpan jawaban dalam variabel jwb, maka metode mencetak yang disarankan adalah sebagai berikut: Bagi pengguna C/C++: printf("%.3lf\n", jwb) Bagi pengguna Java: System.out.printf("%.3f\n", jwb) Selain itu, keterangan tentang nilai harapan bisa didapatkan di sini. 12

F. Jumlahan Bilangan Batas Waktu: 2 detik Batas Memori: 64 MB Sebuah bilangan dapat direpresentasikan sebagai penjumlahan dari sejumlah bilangan positif lainnya yang lebih kecil dari 10. Sebagai contoh, bilangan 19 bisa direpresentasikan sebagai 5 + 7 + 7 atau 3 + 5 + 7 + 4. Diberikan dua buah bilangan bulat N dan M. Tugas Anda kali ini adalah menghitung banyaknya cara untuk merepresentasikan bilangan N sebagai jumlahan dari M bilangan yang lebih kecil dari 10. Dua representasi dianggap berbeda apabila ada i (1 i M), sedemikian sehingga bilangan ke-i yang dijumlahkan pada kedua representasi tersebut memiliki nilai yang berbeda. Format Masukan Baris pertama berisi sebuah bilangan bulat T, yang menyatakan banyaknya kasus uji. Untuk setiap kasus uji: Sebuah baris berisi N dan M. Format Keluaran Untuk setiap kasus, keluarkan sebuah bilangan yang menyatakan banyaknya cara untuk merepresentasikan bilangan N sebagai jumlahan dari M bilangan yang lebih kecil dari 10. Karena banyaknya cara bisa sangat besar, cukup keluarkan sisa baginya terhadap 1.000.000.007. Contoh Masukan 2 5 2 5 3 Contoh Keluaran 4 6 Penjelasan Untuk contoh kasus uji kedua, keenam kemungkinan itu adalah: 1 + 1 + 3 1 + 2 + 2 1 + 3 + 1 2 + 1 + 2 2 + 2 + 1 3 + 1 + 1 13

Batasan 1 T 50.000 1 N 2.000 1 M 500 14

G. DNA Misterius Batas Waktu: 5 detik Batas Memori: 64 MB Pak Chanek sedang bereksperimen dengan DNA misterius. Diketahui DNA tersebut merupakan sebuah string dengan panjang N yang terdiri dari simbol '(' atau ')', dinomori dari 0 sampai N-1 dari kiri ke kanan. Berdasarkan penelitian, terdapat dua jenis DNA misterius yaitu DNA misterius stabil dan DNA misterius tidak stabil. DNA misterius stabil adalah DNA misterius yang memenuhi aturan berikut: 1. String kosong merupakan DNA misterius stabil. 2. Jika S merupakan DNA misterius stabil, maka (S) merupakan DNA. 3. Jika S dan T merupakan DNA misterius stabil, maka ST juga merupakan DNA misterius stabil. Bentuk eksperimen yang akan dilakukan oleh Pak Chanek adalah sebagai berikut: 1. Mengecek kestabilan DNA misterius. 2. Mengubah tepat satu simbol dalam DNA misterius menjadi simbol lawannya. Dengan kata lain, simbol '(' berubah menjadi ')' dan simbol ')' berubah menjadi '('. Pak Chanek sangat bersemangat untuk melakukan eksperimen ini. Akan tetapi, sekarang Pak Chanek sedang sibuk mengikuti acara CompFest. Anda sebagai asisten Pak Chanek diminta untuk membuat program yang dapat melakukan eksperimen tersebut. Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Baris pertama berisi sebuah string S, yang mana merupakan DNA misterius yang sedang diteliti Pak Chanek. Baris-baris berikutnya merupakan eksperimen yang dilakukan: Untuk eksperimen #1, terdapat sebuah baris yang berisi sebuah angka 0 Untuk eksperimen #2, terdapat sebuah baris yang berisi dua buah bilangan yaitu 1 k, dimana k adalah nomor simbol dari DNA misterius yang akan diubah. Eksperimen-eksperimen diakhiri dengan sebuah baris yang berisi -1. Format Keluaran Untuk setiap kasus uji, terdapat sebuah baris yang berisikan hasil eksperimen: Untuk setiap eksperimen #1 yang dilakukan, cetak karakter 'Y' jika DNA misterius stabil, atau karakter 'T' jika DNA misterius tidak stabil. 15

Contoh Masukan 1 ()()() 0 1 1 0 1 4 0-1 Contoh Keluaran YTY Penjelasan Pada awalnya, DNA misterius yang sedang diteliti Pak Chanek merupakan DNA misterius stabil. Kemudian dilakukan eksperimen #1 pada simbol nomor 1 sehingga mengakibatkan DNA misterius berubah manjadi ((()(), yang mana merupakan DNA misterius tidak stabil. Pada eksperimen selanjutnya, simbol nomor 4 berubah sehingga DNA misterius menjadi ((())) yang mana merupakan DNA misterius stabil. Batasan 1 T 10 String hanya berisi simbol '(' atau ')' 1 N 100.000, N bilangan genap 0 k < N Banyaknya eksperimen yang dilakukan maksimal 100.000 16

H. Pulau Sederhana Batas Waktu: 2 detik Batas Memori: 64 MB Pak Chanek dan teman-temannya telah membangun kota-kota di sebuah pulau sederhana. Pulau ini memiliki N kota, yang dinomori dari 1 sampai dengan N. Karena pulau ini sederhana, maka struktur ruas-ruas jalannya pun sederhana. Setiap pasang kota mungkin terhubung secara langsung dengan tepat sebuah ruas jalan, atau mungkin saja tidak terhubung secara langsung. Apabila terdapat ruas jalan yang menghubungkan kota X dengan kota Y, maka warga setempat dapat berpindah dari kota X ke kota Y, atau dari kota Y ke kota X. Waktu perpindahan yang diperlukan untuk melewati sebuah ruas jalan apapun hanya membutuhkan waktu 1 jam. Uniknya, kota ini hanya memiliki N-1 ruas jalan dan tetap dipastikan bahwa setiap pasang kota terhubung oleh serangkaian ruas jalan. Namun, kadang-kadang Pak Chanek merasa bahwa struktur seperti ini mengakibatkan waktu yang diperlukan untuk pergi dari suatu kota ke kota lainnya terlalu lama. Oleh karena itu, dia hendak mengukur efisiensi dari struktur pulau yang telah ia bangun dengan cara menjumlahkan waktu tersingkat yang diperlukan untuk pergi dari setiap kota ke semua kota lainnya. Bantulah ia! Format Masukan Baris pertama berisi sebuah bilangan bulat T, yaitu banyaknya kasus uji. Untuk setiap kasus uji: Sebuah baris berisi sebuah bilangan bulat, yaitu N. N-1 baris berikutnya berisi pasangan bilangan bulat, yang menyatakan dua nomor kota yang terhubung oleh sebuah ruas jalan. Format Keluaran Untuk setiap kasus uji, keluarkan sebuah bilangan yang menyatakan efisiensi struktur kota tersebut. Contoh Masukan 2 4 1 2 2 3 2 4 5 1 2 17

2 3 2 5 4 3 Contoh Keluaran 18 36 Penjelasan Untuk contoh kasus pertama: Dari kota 1, menuju kota 2, diperlukan 1 jam. Dari kota 1, menuju kota 3, diperlukan 2 jam. Dari kota 1, menuju kota 4, diperlukan 2 jam. Dari kota 2, menuju kota 1, diperlukan 1 jam. Dari kota 2, menuju kota 3, diperlukan 1 jam. Dari kota 2, menuju kota 4, diperlukan 1 jam. Dari kota 3, menuju kota 1, diperlukan 2 jam. Dari kota 3, menuju kota 2, diperlukan 1 jam. Dari kota 3, menuju kota 4, diperlukan 2 jam. Dari kota 4, menuju kota 1, diperlukan 2 jam. Dari kota 4, menuju kota 2, diperlukan 1 jam. Dari kota 4, menuju kota 3, diperlukan 2 jam. Sehingga totalnya adalah 18 jam. Batasan 1 T 10 1 N 50.000 Dijamin bahwa setiap pasang kota selalu terhubung dengan serangkaian ruas jalan. 18