Problem A. Turnamen Panco

dokumen-dokumen yang mirip
BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

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

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

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

OLIMPIADE SAINS NASIONAL VII

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

SCHEMATICS 2011 SOAL SCHEMATICS

Problem A. Raja yang Bijak

Hari 1 / Soal 1: Bukit dan Lembah

Problem A. Teks Fibonacci

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

Problem A. Liga Adu Ayam

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

A. Catur. Time Limit : 1 detik

A. Segiempat Terluas

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

Arkavi vs Raja Setan

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

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

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

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 03

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

OLIMPIADE SAINS NASIONAL 2015 DESKRIPSI SOAL

ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Strategi Algoritma Penyelesaian Puzzle Hanjie

Aplikasi Rekursif dalam Analisis Sintaks Program

SOAL BABAK PENYISIHAN TAHAP Informatic Logical Programming Competition 2010

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Design and Analysis Algorithm

SOAL 1 2: Teori Deret bilangan Fibonacci didefisikan secara rekursif sbb. f1 = 1 f2 = 1. fn = fn-1 + fn-2 untuk semua n>2

OLIMPIADE SAINS NASIONAL VIII

OLIMPIADE SAINS TERAPAN NASIONAL 2008

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

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

Algoritma Pemrograman

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

Penerapan Algoritma Runut-Balik untuk Menyelesaikan Permainan Pencarian Kata

Algoritma Pemrograman

Pembahasan Soal Olimpiade Sains Nasional 2004 Bidang Informatika Pekanbaru, Agustus 2004

Programmer dan Meeting

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Tutorial 08 Pertemuan 12

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

OLIMPIADE SAINS NASIONAL VII

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Contoh Kasus A : Belajar Naik Motor

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

Sugeng Rawuh Malih Ing Ngayogyakarta

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

OLIMPIADE SAINS NASIONAL IX

SOAL ARITMETIKA / ANALITIKA / LOGIKA

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Berbagai Solusi Pemecahan Masalah Tower of Hanoi dan Representasi Grafnya

Algoritma Pemrograman

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Ini Ibu Budi. Time Limit: 1 second(s) Memory Limit: 32 megabyte(s)

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

Gambar 1. Tampilan Layar Sebuah Program Animasi

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENCARIAN KOEFISIEN ROOK POLYNOMIAL

Contoh Masukan: Contoh Keluaran: Perhatikan dalam setiap baris satu bilangan dengan bilangan lain hanya dipisahkan 1 (satu) spasi.

Mewarnai Tabel. Masukan. Keluaran. Batasan. Asia-Pacific Informatics Olympiad 2011 Bahasa Indonesia Version

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

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

Algoritma dan Struktur Data

Struktur Program. Rinta Kridalukmana

Kunci Jawaban & Hint Try Out OSK 2017 Oleh : Lie, Maximilianus Maria Kolbe

Soal hari Selasa (13/10) Latihan 7 AN

Kisi-Kisi dan Materi Uji Olimpiade Sains BIDANG INFORMATIKA/KOMPUTER

A. TUJUAN PEMBELAJARAN

INFORMATIKA/KOMPUTER

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Catatan Kuliah STRUKTUR DATA BAB III REKURSIF

OLIMPIADE SAINS 2012 TINGKAT KABUPATEN/KOTA BIDANG INFORMATIKA/KOMPUTER. Lembar Peraturan dan Peringatan Selama Ujian

OLIMPIADE SAINS NASIONAL VII

Perulangan, Percabangan, dan Studi Kasus

BAB 3 PE GEMBA GA METODE DA ALGORITMA PEMESI A MULTI AXIS

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

OLIMPIADE SAINS NASIONAL IX

SMAN 5 SURABAYA Pembahasan OSK Komputer 2011 oleh Rizki Wicaksana

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

Algoritma Pemrograman

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Laporan Praktikum 14 (3) ( ) Metode Komputasi Matematika. Catatan Video, Bahan Relevan dan Buku Syaifudin. Syarif Abdullah (G )

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Transkripsi:

Problem A Turnamen Panco Suhendry Effendy Pak Kumis menyelenggarakan sebuah turnamen panco dengan jumlah peserta N. Peserta pertama (P) akan bertanding dengan peserta kedua (P). P akan bertanding dengan P4, P5 akan bertanding dengan P6, dst. Pemenang dari P dan P akan bertanding dengan pemenang dari P dan P4, pemenang dari P5 dan P6 akan bertanding dengan pemenang dari P7 dan P8, dst (lihat bagan di bawah). Pak Kumis sudah mengetahui kekuatan setiap peserta yang mengikuti turnamen ini dan ia yakin tidak ada dua peserta yang memiliki kekuatan yang sama. Jika ada dua orang peserta yang bertanding, maka yang kuat lah yang menang. Bantu pak Kumis untuk memprediksi siapa yang akan memenangkan turnamen ini. Pada contoh di atas, turnamen ini dimenangkan oleh peserta ke 4 (P4) yang memiliki kekuatan 9 (Ia mengalahkan P yang mempunyai kekuatan 7 pada babak pertama, mengalahkan P yang memiliki kekuatan 5 pada babak kedua, dan mengalahkan P7 yang memiliki kekuatan 6 pada babak final). Input dimulai dengan sebuah bilangan bulat T (T 00) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi sebuah bilangan bulat N ( N 0). Baris berikutnya berisi N bilangan bulat P i ( P i 5.000) yang merepresentasikan kekuatan dari peserta ke hingga peserta ke N secara berurutan. Tidak ada dua peserta yang memiliki kekuatan yang sama. Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan nomor peserta yang diprediksi akan memenangkan turnamen ini. Contoh Input 5 7 9 6 4 4

Problem B Mencari Donat Ricky Winata Pak Buncit ingin membuka toko kue yang menjual donat. Karena ia memiliki ambisi untuk menjual donat dalam jumlah besar, maka proses pembuatan donat diserahkan kepada mesin. Untuk menjaga bentuk donat yang dihasilkan tetap seperti donat, maka pak Buncit memasang alat pemindai (scanner) di tahap akhir proses pembuatan donat. Alat pemindai ini mampu memindai donat-donat yang dihasilkan oleh mesin tersebut. Sayangnya, pak Buncit tidak memiliki program yang mampu mengolah informasi yang dihasilkan dari alat pemindai itu. Pak Buncit ingin mengetahui dari setiap gambar hasil pemindaian, ada berapa donat yang terdapat dalam gambar tersebut. Untuk mendapatkan informasi tersebut, pak Buncit menggunakan cara ini: Gambar hasil pemindaian terdiri dari karakter dan 0. Sekumpulan karakter yang saling terhubung secara horisontal, vertikal maupun diagonal disebut sebagai komponen (bagian roti dari donat). Sedangkan kumpulan karakter 0 yang dikelilingi oleh sebuah komponen dan tidak mengelilingi komponen apapun adalah lubang (bagian lubang dari donat). Sebuah donat adalah sebuah komponen yang mengelilingi tepat satu lubang. 000 000 000 000 00 000 0 00 000 000 00 00 0000 000 0000 000 Satu donat, satu komponen dengan satu lubang Bukan donat, dua komponen dan tidak ada lubang. Bukan donat, satu komponen dengan dua lubang. Dua buah donat. Tugas anda adalah untuk membuat program untuk menghitung jumlah donat yang ada pada setiap gambar hasil pemindaian. Input dimulai dengan sebuah bilangan bulat T (T 00) yang menyatakan banyaknya kasus. Setiap kasus dimulai dengan dua buah bilangan bulat N dan M ( N, M 00) yang menyatakan jumlah baris dan kolom secara berurutan. N baris berikutnya masing-masing berisi M karakter ( 0 atau ) yang merepresentasikan gambar hasil pemindaian Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan jumlah donat yang ada pada gambar tersebut.

Contoh Input 5 5 00 5 5 000 00 000 0 5 5 00 000 000 00 7 00000 000 0000 5 6 00 0000 000 0000 000 0 0

Problem C Tetangga Bidang Persegi Panji Kharisma Sebuah persegi bisa dibagi menjadi bidang-bidang dengan ketentuan sebagai berikut:. Bidang kiri atas diberi nomor.. Bidang kanan atas diberi nomor.. Bidang kiri bawah diberi nomor. 4. Bidang kanan bawah diberi nomor 4. 5. Sistem penomoran ini berlaku rekursif. Berikut ini beberapa contoh bidang dan lokasinya pada persegi. Lokasi bidang Lokasi bidang 4 Lokasi bidang 44 Bidang di atas memiliki 4 tetangga, yaitu bidang (di kiri), (di atas), 4 (di kanan) dan 4 (di bawah). Bidang 4 di atas juga memiliki 4 tetangga, yaitu bidang (di kiri), 4 (di atas), 44 (di kanan) dan 4 ( di bawah). Sedangkan bidang 44 memiliki tetangga, yaitu bidang 4 (di kiri), 4 (di atas) dan 4 (di kanan), tidak ada tetangga yang berada di bawah. Diberikan sebuah bidang, tentukan siapa saja tetangga dari bidang tersebut. Input dimulai dengan sebuah bilangan bulat T (T 00) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi sebuah string S yang merupakan nomor bidang yang diberikan. S panjangnya antara dan 00, inklusif, dan hanya terdiri dari karakter..4. Untuk setiap kasus, output Case #X: (tanpa tanda kutip) di mana X adalah nomor kasus, berurutan dimulai dari nomor. Kemudian output tetangga dari bidang S dengan satu bidang pada satu baris diurutkan secara leksikograf (urutan kamus).

Contoh Input 4 4 44 Case #: 4 4 Case #: 4 44 4 Case #: 4 4 4 Case #4:

Problem D Mari Berhitung Harryanto Diberikan empat buah bilangan bulat A, B, N dan M, hitunglah jumlah dari semua bilangan yang berada di antara A dan B, inklusif, yang habis dibagi oleh N namun tidak habis dibagi oleh M. Contoh. A = 4, B = 0, N =, M = 5. Bilangan dari 4 hingga 0 yang habis dibagi namun tidak habis dibagi 5 adalah: 6, 9, dan 8 (5 tidak diikutkan karena 5 habis dibagi 5). Sehingga jumlahnya adalah 6 + 9 + + 8 = 45. Input dimulai dengan sebuah bilangan bulat T (T 500) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi empat buah bilangan bulat A, B, N dan M ( A, N, M B 0.000.000). Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan jumlah bilangan bulat yang berada di antara A dan B, inklusif, yang habis dibagi oleh N namun tidak habis dibagi oleh M. Hint: gunakan tipe data integer 64-bit untuk outputnya. Contoh Input 4 0 5 0 4 7 0 8 45 60 8

Problem E Reduksi String Winardi Kurniawan Diberikan sebuah string yang terdiri dari tiga karakter ( a, b, dan c ), anda diminta untuk mereduksi string tersebut dengan aturan: - aaa, aba dan aca bisa direduksi menjadi a. - bab, bbb dan bcb bisa direduksi menjadi b. - cac, cbc dan ccc bisa direduksi menjadi c. Contoh. S = abcbabcba abcbabcba bisa direduksi menjadi abcbcba abcbcba bisa direduksi menjadi abcba abcba bisa direduksi menjadi aba aba bisa direduksi menjadi a Input dimulai dengan sebuah bilangan bulat T (T 00) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi sebuah string S dengan panjang antara hingga 0.000. S hanya tersusun atas karakter a, b, atau c. Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan panjang minimum string setelah direduksi. Contoh Input 7 a ab aba abab aaaaaaaaaa abcbabcba cac

Problem F Susun Balok Eko Wibowo Pak Kumis sedang bermain-main dengan N buah balok yang masing-masing memiliki ketinggian H i. Beliau ingin menumpuk beberapa balok sedemikian sehingga tinggi tumpukan balok tersebut tepat M. Pak Kumis kebingungan apakah ia bisa memilih menumpuk beberapa balok sedemikian sehingga tingginya tepat M, disinilah tugas anda untuk membantu pak Kumis. Input dimulai dengan sebuah bilangan bulat T (T 0) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi dua buah bilangan bulat N ( N 50.000) dan M ( M.000) yang menyatakan jumlah balok yang tersedia dan tinggi tumpukan balok yang diinginkan secara berurutan. Baris berikutnya terdiri dari N buah bilangan bulat positif H i ( H i.000.000) yang menyatakan tinggi masing-masing balok. Untuk setiap kasus, output dalam sebaris kata YA (tanpa kutip) jika pak Kumis bisa menumpuk beberapa balok sehingga tingginya tepat M, atau TIDAK (tanpa kutip) jika tidak bisa. Contoh Input 4 6 4 0 YA TIDAK Penjelasan contoh input pada kasus. Pak Kumis bisa memilih balok pertama, kedua dan keempat ( + + ) sehingga total tingginya adalah 6.

Problem G Panda Sehat Indra Panda Pak Buncit sehat-sehat! Rahasianya adalah mereka sering berolahraga (ya! panda Pak Buncit tidak malas) dan diberi makan makanan yang bergizi. Setiap hari panda Pak Buncit diberi makanan yang mengandung N jenis nutrisi yang masing-masing sejumlah W i miligram. Nutrisi-nutrisi ini bisa didapatkan dari dua jenis makanan. Satu paket makanan A mengandung T i miligram masing-masing nutrisi yang diperlukan, sedangkan satu paket makanan B mengandung S i miligram masing-masing nutrisi yang diperlukan. Pak Buncit perlu membeli satu atau beberapa paket makanan guna memenuhi kebutuhan minimal panda-pandanya setiap hari. Paket yang dijual bisa dibeli sebagian. Jika Pak Buncit hanya membutuhkan /x isi paket (tentunya dengan komposisi nutrisi proporsional), maka ia hanya perlu membayar /x dari harga satu paket utuh. Bantu Pak Buncit untuk menghitung biaya minimal yang ia perlukan. Input dimulai dengan sebuah bilangan bulat T (T 50) yang menyatakan banyaknya kasus. Setiap kasus dimulai dengan sebuah bilangan bulat N ( N 00). Baris kedua berisi N buah bilangan bulat W i ( W i 00.000) yang secara berurutan menyatakan jumlah nutrisi ke-i yang diperlukan panda. Baris ketiga berisi N buah bilangan bulat T i ( T i.000) yang secara berurutan menyatakan jumlah miligram nutrisi ke-i yang terdapat pada satu paket makanan A. Baris keempat berisi N buah bilangan bulat S i ( S i.000) yang secara berurutan menyatakan jumlah miligram nutrisi ke-i yang terdapat pada satu paket makanan B. Baris kelima berisi dua buah bilangan bulat C A dan C B yang menyatakan harga satu paket makanan A dan B secara berurutan. Untuk setiap kasus, output dalam sebaris biaya minimum yang perlu dikeluarkan pak Buncit untuk membeli makanan yang memenuhi kebutuhan nutrisi pandanya. Output dengan dua angka di belakang koma. Contoh Input 0 6 4 8 000 00 0 6 0 5 5 00 00 500.00 466.67

Penjelasan contoh input pada kasus. Pak Buncit bisa membeli 5 paket B sehingga nutrisi- yang didapatkan adalah 5 * 4 = 0 dan nutrisi- adalah 5 * 8 = 40. Harga yang harus dibayar adalah 5 * 00 = 500.00. Penjelasan contoh input pada kasus. Pak Buncit bisa membeli 8/ paket A dan 0/ paket B sehingga total nutrisi yang ia dapatkan untuk nutrisi- adalah 8/ * 5 + 0/ * = 0, nutrisi- adalah 8/ * + 0/ * = 8.67 dan nutrisi- adalah 8/ * + 0/ * 5 = 9., mencukupi kebutuhan panda (0 untuk nutrisi-, 6 untuk nutrisi- dan 0 untuk nutrisi-). Harga yang harus dibayar adalah 8/ * 00 + 0/ * 00 = 466.67.

Problem H Basis Bilangan Fibonacci Felix Jingga Deret Fibonacci didefinisikan sebagai berikut: Beberapa deret Fibonacci pertama (n =..7) adalah,,,, 5, 8,. Setiap bilangan bulat positif dapat direpresentasikan sebagai bilangan berbasis-fibonacci. Dalam bilangan basis-fibonacci, bit ke-i dari kanan jika bernilai artinya bilangan tersebut ditambah dengan F i (fibonacci ke-i). Contoh: 7 = 0 0 = * F 6 + * F 5 + * F 4 + 0 * F + * F + 0 * F = 8 + 5 + + 0 + + 0 = 7 Jadi 7 dapat direpresentasikan sebagai 00 dalam basis-fibonacci. Namun sayangnya, ternyata representasi dari suatu bilangan terhadap basis-fibonacci tidaklah unik. Contohnya bilangan 7 di atas bisa direpresentasikan dalam bentuk lain: 7 = 00 = F 6 + F 5 + F 4 + F = 00 = F 6 + F 5 + F 4 + F = 0 = F 6 + F 5 + F + F + F = 000 = F 7 + F + F + F = 0000 = F 7 + F 4 + F = 0000 = F 7 + F 4 + F Ada 6 cara untuk merepresentasikan 7 dalam bilangan basis-fibonacci. Diberikan sebuah bilangan bulat positif N, tentukan ada berapa cara untuk merepresentasikan N dalam bilangan basis-fibonacci. Input dimulai dengan sebuah bilangan bulat T (T 00) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi sebuah bilangan bulat N ( N.000.000). Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan banyaknya cara merepresentasikan N ke dalam basis-fibonacci.

Contoh Input 5 7 6

Problem I Misteri Rekursi Fibonacci Welly Dwi Putra Fibonacci adalah deret bilangan yang sering digunakan ketika kita belajar membuat fungsi rekursi. Deret Fibonacci ke N yaitu F N didefinisikan sebagai penjumlahan dari dua deret sebelumnya (F N- dan F N- ) dengan F 0 dan F sebagai basis. Berikut adalah fungsi rekursi yang digunakan untuk menghitung bilangan fibonacci ke N dalam C/C++ maupun Pascal. C/C++ int f(int n) { if ( n <= ) return n; return f(n-) + f(n-); } Pascal function f(n: integer) : integer; begin if ( n <= ) then f := n else f := f(n-) + f(n-); end; Di samping adalah gambar pohon pemanggilan fungsi rekursi ketika menghitung F 5. Tampak bahwa untuk menghitung F 5, F akan dipanggil sebanyak tiga kali. Diberikan N dan M, tugas anda adalah menghitung berapa kali F M akan dipanggil untuk menghitung F N. Karena angka ini bisa besar, modulo hasilnya dengan 0.000. Input dimulai dengan sebuah bilangan bulat T (T.000) yang menyatakan banyaknya kasus. Setiap kasus terdiri dari sebaris yang berisi dua buah bilangan bulat N dan M (0 N, M 0.000). Untuk setiap kasus, output dalam sebaris sebuah bilangan bulat yang menyatakan banyaknya F M dipanggil ketika menghitung F N. Hasilnya dimodulo dengan 0.000. Contoh Input 5 6

Problem J Ikuti Iramanya! Suhendry Effendy Ricat sedang merancang sebuah permainan komputer yang memanfaatkan ritme musik dan pergerakan mouse. Sejumlah persegi akan muncul di layar secara berkala, pemain harus mengklik persegi yang muncul tersebut untuk mendapatkan poin. Setiap persegi berpusat di koordinat (X i, Y i ) dan merentang sejauh S ke empat arah (atas, bawah, kiri kanan). Contoh, koordinat di (0, 50) dengan S = 0 akan membentuk sebuah persegi dengan keempat koordinat sudutnya: (0,40), (0,60), (0,40), dan (0,60). Poin yang diperoleh pemain dihitung dengan cara: Jika pemain melakukan klik di area persegi tepat pada saat persegi tersebut muncul, maka ia mendapatkan 00 poin. Jika pemain melakukan klik di area persegi detik setelah persegi tersebut muncul, maka ia mendapatkan 00 poin. Jika pemain melakukan klik di area persegi detik setelah persegi tersebut muncul, maka ia mendapatkan 50 poin. Jika persegi yang muncul tidak juga diklik setelah detik berlalu, maka persegi tersebut akan hilang. Setiap persegi hanya bisa diklik satu kali (persegi tersebut akan hilang setelah diklik). Semua klik yang tidak berada di area persegi akan diabaikan. Bantu Ricat membuat program untuk menghitung total poin yang didapatkan oleh pemain. Baris pertama berisi sebuah bilangan bulat T (T 00) yang menyatakan jumlah kasus. Setiap kasus dimulai dengan tiga buah bilangan bulat N, M dan S ( N, M 00; S 0) yang menyatakan banyaknya persegi yang akan muncul, banyaknya klik yang dilakukan pemain, dan panjang rentang setiap persegi dari koordinat pusatnya. N baris berikutnya masing-masing berisi tiga buah bilangan bulat T i, X i dan Y i ( T i.000; 50 X i, Y i 950) yang menyatakan waktu kemunculan persegi ke-i dan koordinat (x,y) dari pusat persegi ke-i secara berutuan. Data persegi disajikan terurut menaik berdasarkan T. M baris berikutnya masing-masing berisi tiga buah bilangan bulat P i, R i dan C i ( P i.000; R i, C i 000) yang menyatakan waktu kapan pemain melakukan klik dan koordinat (x, y) klik tersebut secara berurutan. Data klik disajikan terurut menaik berdasarkan P. Anda boleh mengasumsikan bahwa tidak ada koordinat pada layar yang memuat lebih dari satu persegi pada waktu yang sama.

Untuk setiap kasus, output dalam satu baris sebuah bilangan bulat yang menyatakan total poin yang didapatkan oleh pemain. Contoh Input 5 5 00 00 6 00 70 5 0 90 6 50 0 7 90 80 5 0 0 500 500 0 500 500 0 500 500 490 485 500 500 505 50 9 500 500 0 400 400 0 00 00 00 00 0 0 0 0 90 400 50 00 Penjelasan contoh input pada kasus Klik pertama mengenai persegi- dan mendapatkan 00 poin Klik kedua tidak mendapatkan poin. Klik ketiga mengenai persegi- dan mendapatkan 00 poin. Penjelasan contoh input pada kasus Klik pertama mengenai persegi- dan mendapatkan 00 poin Klik kedua tidak mendapatkan poin (persegi- sudah diklik dan hilang). Klik ketiga mengenai persegi- dan mendapatkan 50 poin. Klik keempat dan kelima tidak mendapatkan poin (tidak mengenai persegi manapun).