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

dokumen-dokumen yang mirip
Problem A. Turnamen Panco

Bab 2. Dasar-Dasar Pemrograman C

Saat menemui penjumlahan langsung pikirkan hasilnya dengan cepat lalu lakukan penjumlahan untuk setiap jawaban yang diperoleh.

Hari 1 / Soal 1: Bukit dan Lembah

Programmer dan Meeting

TIPE DATA DAN OPERASI I/O

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

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

OLIMPIADE SAINS NASIONAL VII


PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

OLIMPIADE SAINS NASIONAL VII

LOMBA MATEMATIKA NASIONAL KE-27

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A

Bab 2 Editor vi 9. BAB 2 EDITOR vi TUJUAN PRAKTIKUM

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

SELEKSI OLIMPIADE TINGKAT KABUPATEN/KOTA TAHUN 2002 TIM OLIMPIADE MATEMATIKA INDONESIA TAHUN 2003

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

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

SISTEM BILANGAN REAL. 1. Sistem Bilangan Real. Terlebih dahulu perhatikan diagram berikut: Bilangan. Bilangan Rasional. Bilangan Irasional

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

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

Operasi Input Output

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

[BS204]-Algoritma Pemrograman Take Home Test Pengumpulan : 27 Maret 2015 Tulis Tangan di kertas A4. Genap 2014/2015 Page 1 of 6

PETUNJUK UMUM OLMIPA UB 2013 BIDANG MATEMATIKA

SOAL MATEMATIKA - SMP

Soal hari Jumat (16/10) Latihan 10 MS

Brigida Arie Minartiningtyas, M.Kom

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

OLIMPIADE SAINS TERAPAN NASIONAL 2008

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

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

Problem A. Teks Fibonacci

Perluasan permutasi dan kombinasi

Petunjuk Pengerjaan Soal Semifinal Olimpiade Matematika ITS (OMITS) tingkat SMA/Sederajat tahun 2012

SOLUSI OSN MATEMATIKA SMP TINGKAT PROPINSI TAHUN 2004

Modul 03 HIMPUNAN. Himpunan adalah kumpulan objek-objek yang keanggotaannya didefinisikan dengan jelas.

SCHEMATICS 2011 SOAL SCHEMATICS

Mencari dan menelusuri jawaban learner yang sudah dinilai. 5 Pelaporan prestasi dan kemajuan penyelesaian tugas

Teori Bilangan. Contoh soal : 1. Buktikan bahwa untuk setiap berlaku. Jawaban : a. Petama, kita uji untuk. Ruas kiri sama dengan.

Combinatorics dan Counting

BAB 3 PENYELESAIAN KONDISI

LOMBA MATEMATIKA NASIONAL KE-25

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LOMBA MATEMATIKA NASIONAL KE-27

OLIMPIADE SAINS TERAPAN SMK PROPINSI JAWA TENGAH 2009

INF-104 Matematika Diskrit

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

LOMBA MATEMATIKA NASIONAL KE-26

OLIMPIADE SAINS NASIONAL IX

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Algoritma dan Pemrograman

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

BAB 1 OPERASI PADA HIMPUNAN BAHAN AJAR STRUKTUR ALJABAR, BY FADLI

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

MANIPULASI STRING. Contoh :

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

STRATEGI PENYELESAIAN MASALAH (PROBLEM SOLVING STRATEGIES) EDDY HERMANTO

Pelatihan-osn.com Konsultan Olimpiade Sains Nasional contact person : ALJABAR

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Larik/ Array int a1, a2, a3, a4, a5;

Sesi/Perkuliahan ke: II

MATA KULIAH : LOGIKA DAN ALGORITMA KONSEP DASAR ALGORITMA

MATEMATIKA DASAR (Kardinalitas)

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Kontes Terbuka Olimpiade Matematika

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

Individual Contest Section I: 1. Colleen menggunakan kalkulator untuk

Teori Himpunan. Author-IKN. MUG2B3/ Logika Matematika 9/8/15

MODUL IV Analisis Kasus/Pemilihan

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

1 Pengenalan IDE Python

SELEKSI OLIMPIADE TINGKAT PROVINSI 2013 TIM OLIMPIADE MATEMATIKA INDONESIA 2014

SELEKSI OLIMPIADE TINGKAT PROVINSI 2007 TIM OLIMPIADE MATEMATIKA INDONESIA 2008

Prestasi itu diraih bukan didapat!!! SOLUSI SOAL

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

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

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

Pembahasan OSN SMP Tingkat Nasional Tahun 2012

Matriks - 1: Beberapa Definisi Dasar Latihan Aljabar Matriks

Teori himpunan. 2. Simbol baku: dengan menggunakan simbol tertentu yang telah disepakati. Contoh:

BAB II SINTAKS 2.1. SINTAKS

SELEKSI OLIMPIADE MATEMATIKA INDONESIA 2004 TINGKAT PROVINSI

Pengenalan Pascal/DevPascal

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

Pertemuan 2. Editor vi

Asia-Pacific Informatics Olympiad (APIO) 2012

Modul ke: Matematika Ekonomi. Himpunan dan Bilangan. Bahan Ajar dan E-learning

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

KONSEP PEMROGRAMAN BASIC. Pertemuan VII

LEMBAR AKTIVITAS SISWA MATRIKS

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

MODUL 1. Himpunan FEB. Nur Azmi Karim, SE, M.Si. Fakultas. Modul ke: Program Studi

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

SISTEM BILANGAN BULAT

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

Transkripsi:

Problem A Divisible compfest.c / compfest.cpp / compfest.pas Runtime-limit: 0.5 detik Barisan bilangan Fibonacci didefinisikan secara rekursif sebagai berikut: Buatlah sebuah program yang menentukan apakah (F() + F() + + F(n-) + F(n) +) habis dibagi oleh F(M). dibaca dari standar masukan. Baris pertama berisi bilangan bulat T ( T 000000) yang menyatakan jumlah kasus uji dalam masukan. Baris kedua sampai baris ke T+ berisi dua buah bilangan bulat N dan M yang dipisahkan oleh sebuah spasi. ( N 00000, M 00000) ditulis ke standar keluaran. Untuk setiap kasus uji, keluaran hanya berupa sebuah baris dengan format Kasus #X: A dimana X menyatakan nomor kasus uji, dimulai dari satu, dan A adalah string habis dibagi jika (F() + F() + + F(n-) + F(n) +) habis dibagi oleh F(M) dan tidak habis dibagi jika tidak. Contoh 3 3 Kasus #: habis dibagi Kasus #: tidak habis dibagi

Problem B Binary Display Compfest.c / Compfest.cpp / Compfest.pas Memory-limit: 6 MB Temanmu baru saja membeli komputer baru. Hingga saat ini, komputer terbaik yang pernah digunakannya hanyalah komputer yang hanya bisa menampilkan angka satu dan nol. Melihat komputer barunya, dia agak kecewa, karena dia sudah terbiasa melihat layar yang hanya berisi angka satu dan nol. Jadi kamu memutuskan untuk menulis program yang akan mengubah sebuah bilangan dalam basis 0 menjadi bilangan dalam basis dua lalu menampilkannya ke layar. dibaca dari standar masukan. Baris pertama berisi bilangan bulat T ( T 000) yang menyatakan jumlah kasus uji dalam masukan. Baris kedua sampai baris ke T+ berisi sebuah bilangan bulat N ( 0 N < 47483648) yang merupakan bilangan yang harus ditampilkan. ditulis ke standar keluaran. Angka nol ditulis sebagai berikut b-b b b b-b Sementara angka satu ditulis sebagai berikut. b b (b adalah spasi) Keluarkan sebuah spasi sebagai pemisah antar digit. Keluarkan sebuah baris kosong di antara test case yang berbeda. Tidak ada spasi tambahan di akhir setiap baris (lihat contoh output). Contoh 5 3 - -

Problem C -Set Compfest3.c / Compfest3.cpp / Compfest3.pas Memory-limit: 4 MB Dari suatu himpunan, kita dapat membuat subhimpunan dari himpunan tersebut dengan mengambil dua buah elemen dari himpunan tersebut. Subhimpunan dari himpunan yang terdiri dari dua buah elemen kita sebut sebagai -subset dari himpunan. Sebagai contoh, dari himpunan {,,3}, salah satu -subsetnya adalah {,}. Himpunan dari semua - subset dari sebuah himpunan kita sebut sebagai -set. Jadi dari himpunan {,,3}, -setnya adalah {{,},{,3},{,3}} Irisan dari dua buah himpunan adalah sebuah himpunan yang berisi elemen-elemen yang terdapat pada kedua himpunan asalnya. Sebagai contoh irisan dari {,,3} dan {,3,4} adalah {,3} Tugas anda adalah, diberikan dua buah himpunan bilangan bulat (dalam satu himpunan setiap elemennya pasti berbeda), anda harus menghitung berapa jumlah irisan dari -set kedua himpunan tersebut. dibaca dari standar masukan. Baris pertama berisi bilangan bulat N ( N 00000) yang menyatakan jumlah elemen dari himpunan. Baris kedua sampai baris ke N+ berisi sebuah bilangan bulat X ( 0 X < 47483648) yang merupakan elemen dari himpunan pertama. Baris ke N+ sampai baris ke N+ berisi elemen dari himpunan kedua. ditulis ke standar keluaran. Untuk setiap kasus uji, keluaran hanya berupa sebuah baris dengan format Kasus #X: A dimana X menyatakan nomor kasus uji, dimulai dari satu, dan A adalah string ukuran irisan dari -set kedua himpunan tersebut. Contoh

Problem D Lottery Cheating compfest4.c / compfest4.cpp / compfest4.pas Runtime-limit: 0.5 detik Willy senang bermain lotere. Setiap tiket lotere memiliki nomor yang terdiri dari 0 digit angka. Dari sekian banyak tiket yang ada, hanya ada 0 tiket yang merupakan tiket berhadiah. Karena kemungkinannya sangat kecil, selama beberapa tahun ini Willy tidak pernah mendapatkan tiket berhadiah tersebut. Namun dengan suatu cara Willy berhasil mendapatkan daftar 0 tiket berhadiah tersebut. Willy kemudian membeli sebuah tiket lotere. Karena ingin menang, Willy bermaksud mengganti nomor loterenya dengan salah satu dari nomor tiket berhadiah tersebut. Operasi yang dapat dilakukan Willy adalah sebagai berikut: Mengganti sebuah digit dengan digit lainnya Menghapus sebuah digit Menyisipkan sebuah digit Agar tidak ketahuan oleh panitia Lotere, Willy bermaksud untuk mengganti nomor loterenya dengan nomor lotere berhadiah dengan operasi seminimal mungkin. Akan tetapi Willy sedang sibuk, sehingga Anda diminta untuk membantunya mencari berapa operasi minimal yang diperlukan untuk mengubah nomor loterenya menjadi nomor lotere berhadiah. dibaca dari standar masukan. terdiri dari beberapa kasus uji. Baris pertama berisi bilangan bulat T ( T 0000) yang menyatakan jumlah kasus uji dalam masukan. Baris berikutnya merupakan baris kosong. Untuk setiap kasus uji, baris pertama sampai berisi nomor lotere Willy. Baris kedua sampai baris ke sebelas berisi sebuah nomor yang merupakan nomor lotere berhadiah. Antara satu kasus uji dengan kasus uji lainnya dipisahkan oleh sebuah spasi. ditulis ke standar keluaran. Untuk setiap kasus uji, keluaran hanya berupa sebuah baris dengan format Kasus #X: A B dimana X menyatakan nomor kasus uji, dimulai dari satu, dan A adalah nomor lotere berhadiah yang dipilih, dan B adalah jumlah operasi minimal yang diperlukan untuk mengubah nomor lotere Willy menjadi nomor lotere berhadiah tersebut.

Contoh Kasus #: Kasus #: Penjelasan Contoh # Nomor lotere Willy adalah. Dari sepuluh tiket berhadiah tersebut, yang paling minimal adalah mengubahnya menjadi ( operasi), sedangkan untuk mengubah menjadi dibutuhkan 9 operasi.

Problem E Sub Barisan Compfest5.c / Compfest5.cpp / Compfest5.pas Buat sebuah program yang membaca sebarisan bilangan bulat dan menentukan panjang dari subbarisan terpanjang yang terdiri dari bilangan-bilangan yang sama. dibaca dari standar masukan. terdiri dari beberapa kasus uji. Pada setiap kasus uji, baris pertama berisi bilangan bulat N ( N 000000) yang menyatakan jumlah elemen dari himpunan. Baris berikutnya berisi N buah bilangan bulat X ( 0 X < 47483648) yang merupakan sebarisan bilangan bulat. Berikut seterusnya hingga program selesai, yaituketika N = 0. ditulis ke standar keluaran. Untuk setiap kasus uji, keluaran hanya berupa sebuah baris dengan format M N dimana M menyatakan panjang subbarisan terpanjang yang terdiri dari bilangan-bilangan yang sama dan N adalah bilangan yang sama tersebut. Jika terdapat lebih dari satu subbarisan terpanjang maka, ambil subbarisan terpanjang yang pertama kali terjadi. Contoh 9 4 4 4 9 9 6 3 3 3 5 0 5 3 5

Problem F Replacing String(s) Compfest6.c / Compfest6.cpp / Compfest6.pas Buat sebuah program untuk menyalin dan mengolah karakter-karakter input dari kiri ke kanan menjadi output dengan aturan sbb: dalam proses penyalinan, setiap pasang karakter AA diganti dengan karakter B, setiap pasang karakter BB diganti dengan karakter A, dan karakter-karakter lainnya dibiarkan. Perhatikan bahwa dalam proses penggantian, karakter yang menggantikan mungkin membentuk sebuah pasangan dengan karakter yang masih ada. Teks input hanya boleh dibaca sekali saja. dibaca dari standar masukan. terdiri dari beberapa kasus uji. Pada setiap kasus uji, masukan terdiri dari baris string dengan panjang maksimum 50 karakter. Kasus uji diakhiri dengan string END. ditulis ke standar keluaran. Untuk setiap kasus uji, keluaran hanya berupa sebuah string hasil pengolahan(sesuai definisi soal). Contoh AABCABBD ABABB BBBCABBA AABBAABBAABBAA CACA END ACBD B ABCBA B CACA

Problem G Last-nacci Compfest7.c / Compfest7.cpp / Compfest7.pas Latar Belakang Kita akan bermain dengan bilangan Fibonacci, dimana nilai dari suku ke-i merupakan penjumlahan dari nilai suku ke-(i-) dan nilai suku ke-(i-). Dengan aturan suku pertama dan kedua memiliki nilai, maka didapatkan barisan Fibonacci sebagai berikut :,,, 3, 5, 8, 3,, 34, 55, Permasalahan Baris pertama pada input merupakan angka n yang menyatakan jumlah test case yang diberikan. Untuk n baris berikutnya menyatakan angka x. x dan n merupakan bilangan bulat non-negatif, dengan x,n < 466860847387904. Untuk setiap test case, cetak digit terakhir dari nilai Fibonacci ke-x dan diakhiri dengan baris baru. Contoh Input : 5 3 4 7 Output : 3 3

Problem H Alien s Arithmatic Compfest8.c / Compfest8.cpp / Compfest8.pas Latar Belakang Kita akan bermain dengan operator penjumlahan dimana angka yang dimainkan hanya angka 0 dan angka 5. Yang perlu diketahui adalah permainan ini memiliki aturan sebagai berikut : 0 + 0 = 0 0 + 5 = 5 5 + 0 = 5 5 + 5 = 0 Contoh penjumlahan dua bilangan 4 digit : 0050 0550 ------ + 0500 Hasil diatas didapatkan dengan cara penjumlahan perdigit dari kedua bilangan. Permasalahan Diberikan dua buah bilangan bulat non-negatif yang terdiri dari dua juta digit. Misalkan : x adalah bilangan pertama, dan x i adalah digit ke i dari kiri y adalah bilangan pertama, dan y i adalah digit ke i dari kiri Maka format masukannya adalah : x x x 3 x 999998 x 999999 x 000000 y y y 3 y 999998 y 999999 y 000000 (tidak ada pemisah apapun diantara tiap digit pada input) Cetak hasil penjumlahan x dan y pada standard output. Contoh Input : (untuk memudahkan, dipakai 4 digit untuk contoh dibawah ini!) 00505505 Output : 5555

Problem I A - BE Compfest9.c / Compfest9.cpp / Compfest9.pas Latar Belakang Kita akan bermain dengan segitiga. Lihat gambar dibawah ini, Gambar diatas merupakan segitiga ABC sembarang yang diberikan titik O di sembarang tempat bagian dalam segitiga ABC. Lalu dari tiap titik segitiga ABC, ditarik garis ke titik O hingga didapatkan titik D, E, dan F. Permasalahan Baris pertama pada input merupakan bilangan integer N yang menyatakan jumlah test case yang diberikan. Untuk N baris berikutnya akan berisikan 5 angka real dengan format sebagai berikut : AE AC CD BC BF Dimana AE merupakan panjang dari titik A ke titik E pada gambar. Begitu pula untuk selanjutnya. Untuk setiap test case, cetak panjang AB dengan ketelitian 5 angka di belakang koma (pembulatan ke atas) dan diakhiri baris baru. Contoh Input :.0.0.0.0.0.0 4.0.0 4.0.0 Output :.00000 4.00000

Problem J Upstream compfest0.c / compfest0.cpp / compfest0.pas Sebuah barisan a i dikatakan terurut secara monoton naik jika a < a <... < a N. Subbarisan dari suatu barisan (a, a,..., a N ) adalah (a i, a i,..., a ik ), di mana i < i <... < i K N. Contohnya, barisan (, 7, 3, 5, 9, 4, 8) memiliki barisan terurut monoton naik,seperti (, 7), (3, 4, 8) dan lainnya. Subbarisan yang terpanjang dari barisan tersebut memiliki panjang 4, yaitu (, 3, 5, 8). Anda diminta membuat sebuah program yang menerima barisan angka-angka, dan diminta untuk menentukan panjang dari subbarisan terpanjang dari barisan tersebut. Baris pertama dari masukan berupa bilangan bulat N, yaitu panjang barisan masukan. Baris kedua terdiri elemen-elemen barisan, yaitu N buah bilangan bulat dengan kisaran 0 sampai 0000(inklusif) masingmasing, yang dipisahkan oleh sebuah karakter spasi. N 000 berupa sebuah bilangan bulat, yaitu panjang dari subbarisan terurut monoton naik dari barisan masukan. Contoh 7 7 3 5 9 4 8 4