Kompetisi Pemrograman IV Babak Final

dokumen-dokumen yang mirip
OLIMPIADE SAINS TERAPAN NASIONAL 2008

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

Final Programming Competition (Mahasiswa)

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

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

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

SUGENG RAWUH ING NGAYOGYAKARTA

Olimpiade Sains Nasional XI Bidang Komputer/Informatika

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

A. Catur. Time Limit : 1 detik

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

SCHEMATICS 2011 SOAL SCHEMATICS

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

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

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

Programmer dan Meeting

Penghasilan JokeMart

SEKOLAH TINGGI ILMU STATISTIK BADAN PUSAT STATISTIK SOAL UJIAN MASUK PROGRAM D-IV TAHUN AKADEMIK 2011/2012 MINGGU, 5 JUNI 2011 MATEMATIKA 90 MENIT

PENYISIHAN PEMROGRAMAN GEMASTIK

Arkavi vs Raja Setan

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

OLIMPIADE SAINS NASIONAL VIII

Lecture Notes Algoritma dan Pemrograman

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

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

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

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

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN

OLIMPIADE SAINS NASIONAL IX

Bundel Soal Sesi 3 Bidang Informatika Olimpiade Sains Nasional X

Final Programming Competition (SMA)

BIDANG STUDI : MATEMATIKA TINGKAT : MADRASAH ALIYAH

PEMERINTAH KABUPATEN SUKOHARJO DINAS PENDIDIKAN SMA KABUPATEN SUKOHARJO Sekretariat : Jl. Jend. Sudirman No.197 Sukoharjo Telp.

PEMERINTAH KABUPATEN SUKOHARJO DINAS PENDIDIKAN SMA KABUPATEN SUKOHARJO Sekretariat : Jl. Jend. Sudirman No.197 Sukoharjo Telp.

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

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

Pengertian Data datum

PEMBEKALAN PESERTA OLIMPIADE SMA 1 KALASAN Februari-Maret 2009 SOAL-SOAL LATIHAN

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

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

A. Segiempat Terluas

OLIMPIADE SAINS NASIONAL VII

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

3. Beberapa angka dikali dengan jumlah digitnya hasilnya adalah Berapa jumlah digit dari angka ini?

4. Satu koin dilempar tiga kali. Berapa kemungkinan muncul angka dan gambar selang seling?

Agresi Militer II. Batas Runtime Batas Memori. 1 detik / testcase 32 MB

Algoritma + Pemrograman Pascal

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Bab 2. Dasar-Dasar Pemrograman C

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

Tipe Data dan Variabel

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

A. Jangkauan Terbesar

OLIMPIADE SAINS NASIONAL IX

BNPC-HS 2010 BABAK PENYISIHAN (PILIHAN GANDA)

TINGGI KANDANG SUSUN

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

TRY OUT UJIAN NASIONAL TAHUN PELAJARAN 2016/2017 LEMBAR SOAL. Mata Pelajaran : MATEMATIKA. Satuan Pendidikan : SMA/MA

RANCANGAN UNDANG-UNDANG REPUBLIK INDONESIA NOMOR... TAHUN... TENTANG MATA UANG DENGAN RAHMAT TUHAN YANG MAHA ESA PRESIDEN REPUBLIK INDONESIA,

OLIMPIADE SAINS NASIONAL VIII

Combinatorics dan Counting

OMITS 12. Soal Babak Penyisihan Olimpiade Matematika ITS (OMITS) Tahun 2012 Tingkat SMA/Sederajat MATEMATIKA ING NGARSA SUNG TULADHA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

Problem A. Teks Fibonacci

Himpunan Mahasiswa Komputer, Ilmu Komputer Universitas Gadjah Mada 1

OLIMPIADE SAINS NASIONAL 2015 DESKRIPSI SOAL

Ujian Akhir Semester Ganjil 2013/2014

Sugeng Rawuh Malih Ing Ngayogyakarta

SOAL BRILLIANT COMPETITION 2013

adalah x

Algoritma Pemrograman

Algoritma Pemrograman

SELEKSI OLIMPIADE TINGKAT PROVINSI 2009 TIM OLIMPIADE MATEMATIKA INDONESIA 2010

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

Algoritma Pemrograman

BAB III ANALISIS, ALGORITMA, DAN CONTOH PENERAPAN

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

Sesi/Perkuliahan ke: 3

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

Modul PVB-POLINEMA V1.0

U n KOMBINATORIAL. A 1 atau A 2 atau... atau A n adalah (n 1 + n n n ). Dengan kata lain

Algoritma Pemrograman

A. Bimbel. Time limit: 1 detik

SOAL BABAK PENYISIHAN TAHAP Informatic Logical Programming Competition 2010

Kombinatorial. Matematika Diskrit Pertemuan ke - 4

LOMBA MATEMATIKA NASIONAL KE-25

Bundel Soal Sesi 2 Bidang Informatika Olimpiade Sains Nasional X

Hari 1 / Soal 1: Bukit dan Lembah

KUMPULAN SOAL OSP MATEMATIKA SMP PEMBINAAN GURU OLIMPIADE DISUSUN: DODDY FERYANTO

Kompetisi Sains Madrasah 2015 Tingkat Propinsi-Madrasah Tsanawiyah-Matematika NASKAH SOAL BIDANG STUDI : MATEMATIKA TINGKAT : MADRASAH TSANAWIYAH

A. Soal isian singkat 1. Temukan nilai A yang memenuhi operasi berikut ini: x : 5 20

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A

OLIMPIADE SAINS NASIONAL VIII

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Problem A. Liga Adu Ayam

ALGORITME DAN PEMROGRAMAN

Transkripsi:

Kompetisi Pemrograman IV Babak Final B100 B101 B102 B103 B104 B105 B106 Jumlah tes kasus 10 5 5 10 10 10 10 Nilai per tes kasus 10 20 20 10 10 10 10 Batas waktu 1 detik 6 detik 1 detik 1 detik 1 detik 1 detik 1 detik Batas memori 16 MB 16 MB 16 MB 16 MB 16 MB 16 MB 16 MB

Batas waktu: 1 detik B100 / Eurotrip Eropa menjadi salah satu daya tarik wisatawan dari berbagai belahan dunia. Melihat hal tersebut, agen perjalanan Mieke bermaksud membuka rute tur wisata baru untuk turis dari Indonesia. Tur ini akan melewati sejumlah obyek wisata yang tersebar di berbagai negara di Eropa. Obyek wisata kemudian dikelompokkan berdasarkan jenisnya, misalkan wisata bahari, pegunungan, atau museum. Sesuai permintaan pasar, urutan jenis obyek wisata yang akan dikunjungi sudah ditentukan sejak awal. Sebagai contoh, tur dimulai dengan wisata bahari, kemudian museum, dan yang terakhir pegunungan. Untuk memudahkan, jenis wisata ini dilambangkan dengan huruf kapital ( A - Z ). Sedangkan, negara-negara yang dapat dikunjungi dilambangkan dengan sebuah bilangan bulat. Setiap negara dapat memiliki sebagian, seluruh, maupun tidak memiliki sama sekali jenis obyek wisata. Turis dapat berpindah dari negara yang satu ke negara yang lain dengan menggunakan pesawat, namun tidak setiap pasang negara memiliki penerbangan langsung antar keduanya. Selain itu, jika dari negara x ada penerbangan ke negara y, belum tentu ada penerbangan dari negara y ke negara x. Diberikan tabel penerbangan antar negara, jenis obyek wisata yang tersedia di setiap negara, serta urutan jenis obyek wisata yang akan dikunjungi, hitunglah jumlah kemungkinan rute negara yang dikunjungi untuk memenuhi urutan tersebut. Spesifikasi Masukan Masukan diawali dengan sebuah bilangan bulat N (1 N 100) yang menunjukkan jumlah negara yang ada. N baris berikutnya masing-masing berisi N bilangan 0 atau 1 yang dipisahkan oleh spasi. Bilangan ke j pada baris ke i pada bagian ini menunjukkan penerbangan yang tersedia dari negara i ke negara j. Nilai 0 berarti tidak ada penerbangan, sedangkan nilai 1 berarti ada penerbangan. Tidak akan ada penerbangan dari negara i ke negara i lagi. Masukan kemudian diikuti dengan informasi jenis obyek wisata yang juga terdiri dari N baris. Setiap barisnya berisi himpunan huruf T i1, T i2,..., T ini yang menyatakan jenis obyek wisata yang ada di kota i. Baris terakhir berisi sebuah string Q yang menyatakan urutan jenis obyek wisata yang akan dikunjungi. Panjang dari urutan ini tidak akan melebihi 100. Untuk lebih jelasnya silahkan melihat teladan masukan. Spesifikasi Keluaran Keluaran terdiri dari satu baris yang berisi jumlah kemungkinan menyelesaikan tur dengan ketentuan yang diberikan. Bilangan ini tidak akan melebihi 10 9. Teladan Masukan 1 5 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 YC MYA AY Final Kompetisi Pemrograman IV Page 1 of 3

MC YM YMCA B100 / Eurotrip Teladan Keluaran 1 7 Penjelasan Teladan 1 Dari tabel di atas, bisa didapatkan peta negara seperti di bawah ini. Lingkaran melambangkan negara, dan garis berpanah menunjukkan ada penerbangan dari satu kota ke kota lainnya. Dari gambar di atas, dapat dilihat bahwa ada tujuh kemungkinan rute dengan urutan jenis obyek wisata YMCA, yaitu 1-2-4-3, 1-4-1-2, 1-4-1-3, 2-4-1-2, 2-4-1-3, 5-4-1-2, dan 5-4-1-3. Catatan Dalam keadaan sebenarnya seseorang bisa saja melakukan transit, di mana ia melakukan penerbangan dari negara i ke negara j, dengan menyinggahi negara k tanpa mengunjungi obyek wisata di negara tersebut. Namun, supaya sederhana kita tidak memperhitungkan hal tersebut dalam soal ini. Seseorang akan berkunjung ke sebuah negara hanya jika ia akan mengunjungi obyek wisata di negara tersebut. Teladan Masukan 2 10 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 C C BD ABD Final Kompetisi Pemrograman IV Page 2 of 3

D B100 / Eurotrip A BD D CDDCAD Teladan Keluaran 2 70 Final Kompetisi Pemrograman IV Page 3 of 3

Batas waktu: 6 detik B101 / Faktor Bilangan Memeriksa apakah X habis dibagi Y sering kali diperlukan pada banyak aplikasi. Untuk bilangan yang sangat besar hal ini tidak mudah dilakukan. Anda diminta memeriksa dua bilangan X dan Y, dan menjawab apakah X habis dibagi Y atau tidak. Spesifikasi masukan Masukan diawali dengan bilangan bulat N (1 N 4) yang menyatakan jumlah kasus. N baris berikutnya masing-masing berisi dua bilangan X dan Y (keduanya bilangan positif maksimal 1000 digit) yang dipisahkan dengan tanda koma (, ). Spesifikasi keluaran Untuk setiap kasus per baris keluarkan output Y bila X habis dibagi Y dan T bila tidak. Teladan Masukan 1 4 5,2 10,2 13,1 20,20 Teladan Keluaran 1 T Y Y Y Teladan Masukan 2 2 60346,2321 4356546435,213232 Teladan Keluaran 2 Y T Final Kompetisi Pemrograman IV Page 1 of 1

Batas waktu: 1 detik B102 / Koin Terbalik Nikolas sedang menunggu kedatangan temannya Saputra untuk persiapan kompetisi pemrograman yang diselenggarakan oleh Universitas Katolik Parahyangan. Memang pada dasarnya Nikolas seorang yang tidak bisa diam, ia mulai membalik-balik uang logam yang ada di tangannya. Lama kelamaan, ia mulai menyadari bahwa ia telah membalik koin-koin tersebut dengan pola tertentu. Dengan tiga koin lima ratus rupiah di tangan, ia membalik koin tersebut dengan aturan sebagai berikut. Pada awalnya, ketiga koin tersebut dalam posisi gambar bunga melati di atas, dan gambar burung garuda menghadap ke bawah (lihat gambar 1.i). Kemudian ia membalik (satu) koin teratas sehingga burung garuda yang menghadap ke atas sedangkan sisanya tetap seperti semula (lihat gambar 1.ii). Kemudian ia membalik dua koin teratas, yang tidak mengubah susunan koin (gambar 1.iii). Selanjutnya ia membalik tiga koin tersebut sehingga terlihat seperti gambar 1.iv. Kembali lagi ia membalik satu koin teratas (gambar 1.v), membalik dua koin teratas, dan seterusnya. Gambar 1: Sembilan kali membalik koin untuk kembali ke keadaan semula Setelah sembilan kali memutar koin, Nikolas terkejut karena ternyata keadaan ketiga koin tersebut kembali ke keadaan semula. Saat Saputra datang, Nikolas sudah jenuh dan memutuskan untuk menonton film mengenai legenda Soe Hok Gie. Sedangkan Saputra yang datang belakangan tertarik dengan gejala tersebut dan ingin mengetahui berapa kali koin tersebut harus dibalik (dengan aturan Nikolas) supaya kembali ke keadaan semula. Ia mulai membuka komputer dan membuat program untuk menghitung berapa kali minimal koin harus dibalik agar dapat kembali ke keadaan semula tidak hanya untuk tiga koin, tetapi untuk N buah koin. Final Kompetisi Pemrograman IV Page 1 of 2

B102 / Koin Terbalik Format masukan Baris pertama masukan berisi satu bilangan bulat NQ (1 NQ 350) yang menyatakan jumlah kasus. NQ baris berikutnya masing-masing berisi satu bilangan bulat N i (1 N i 10.000), yaitu jumlah koin yang tersedia pada tiap kasus. Format keluaran Keluaran terdiri dari tepat NQ baris, masing-masing berisi bilangan bulat yang menyatakan berapa kali Ni buah koin harus dibalik supaya kembali ke keadaan seperti semula, sesuai aturan di atas. Teladan masukan 1 3 3 4 5 Teladan keluaran 1 9 11 24 Teladan masukan 2 4 1 2 13 34 Teladan keluaran 2 2 3 116 748 Final Kompetisi Pemrograman IV Page 2 of 2

Batas waktu: 1 detik B103 / Penjara Tahun 2013. Akhirnya Federasi membangun sebuah penjara (di sebuah tempat yang sangat dirahasiakan) yang khusus digunakan untuk menahan para penjahat paling kejam dan teroris teroris paling jahat dari seluruh dunia. Agar mendapat penjagaan yang maksimum, maka penjara tersebut dilengkapi dengan berbagai alat yang sangat canggih. Walaupun demikian, Federasi masih merasa khawatir jika pada suatu saat ada seorang napi yang berhasil kabur dari penjara tersebut. Akhirnya Federasi memumutuskan untuk menanam sebuah alat pemancar super kecil (dengan ukuran beberapa nanometer), di dalam kepala setiap narapidana. Dengan adanya pemancar ini, maka penjaga penjara dapat memantau posisi setiap narapidana melalui sebuah layar besar yang dihubungkan langsung dengan sebuah satelit yang pada setiap waktu tertentu menerima sinyal dari pemancar pemancar tersebut. Pada layar tersebut dapat dilihat juga posisi dari menara menara penjaga pada penjara. (Setiap menara dihubungkan dengan menara lain melalui sebuah tembok lurus yang sangat tebal). Keterangan: lingkaran yang memiliki nomor adalah narapidana sedangkan lingkaran berwarna biru adalah menara penjaga, tembok penjara digambarkan dengan garis putus-putus berwarna biru. Catatan: penjara selalu berbentuk poligon convex dan tidak ada tiga atau lebih menara penjaga yang membentuk suatu garis lurus. Pada gambar terlihat, narapidana nomor 1 berada di dalam penjara, sedangkan narapidana nomor 2 ada di luar penjara. Apabila narapidana berada di menara penjaga atau di tembok penjara, maka narapidana dianggap berada di dalam penjara. Sebagai seorang programmer yang bekerja untuk Federasi, anda diminta bantuan untuk membuat sebuah program yang dapat mendeteksi apakah seorang narapidana berada di luar penjara atau di dalam penjara. Spesifikasi masukan Masukan terdiri dari beberapa tes kasus, setiap tes kasus diawali dengan sebuah bilangan N ( 3<= N < 5000 ). N baris berikutnya, setiap baris terdiri dari dua buah Final Kompetisi Pemrograman IV Page 1 of 2

B103 / Penjara bilangan X dan Y ( -600.000 <=X,Y<= 600.000 ) yang menyatakan letak dari menara penjaga. Posisi menara penjaga selalu dimulai dari menara dengan posisi Y paling kecil ( dan X terkecil, jika ada posisi Y yang sama ), kemudian bergerak berlawanan arah jarum jam. Kemudian terdapat beberapa posisi dari narapidana, posisi narapidana dinyatakan dengan dua bilangan X dan Y ( -600.000 <=X,Y<= -600.000 ). Tes kasus diakhiri dengan sebuah bilangan -1000000. Spesifikasi keluaran Untuk setiap posisi narapidana, tampilkan kata in jika narapidana berada di dalam penjara, dan tampilkan kata out jika narapidana berada di luar penjara. Tambahkan deretan karakter ### untuk mengakhiri setiap tes kasus. Teladan masukan 7 5 1 10 2 14 6 11 10 5 12 3 9 2 4 7 7 1 5-1000000 7 5 1 10 2 14 6 11 10 5 12 3 9 2 4 7 12 13 6-1000000 Teladan keluaran in out ### out in ### Final Kompetisi Pemrograman IV Page 2 of 2

Batas waktu: 1 detik B104 / Tree Anda tentu tahu tentang binary tree/pohon biner. Pohon biner adalah pohon yang mempunyai 2 cabang. Pada setiap level, pohon yang menjadi akar (root) akan mempunyai 2 cabang/daun. Tugas anda adalah menentukan bahwa pohon bernomor X terletak pada tingkat berapa dan tunjukan semua root dari pohon bernomor X tersebut. Root pohon diurutkan mulai dari yang teratas. Spesifikasi Masukan Setiap baris input terdiri dari bilangan bulat X (1 <= X <= 2 32-1). Setiap tes kasus akan terdiri dari beberapa baris. Input akan diakhiri dengan 0. Spesifikasi Keluaran Tampilkan level dari pohon bernomor X. Pada baris selanjutnya tampilkan pohon akar/root dari pohon bernomor X tersebut. Root diurutkan dari nomor terkecil. Teladan Masukan 3 7 0 Teladan Keluaran LEVEL 2 1 3 LEVEL 3 1 3 7 Final Kompetisi Pemrograman IV Page 1 of 1

B105 / Mesin Waktu Mesin Waktu Batas waktu: 1 detik Tahun 2040. Koko sebagai ilmuwan berhasil menciptakan sebuah mesin waktu yang memungkinkan untuk menjelajahi waktu dalam hitungan menit. Dia mencari sukarelawan untuk menguji mesin waktunya itu, namun tidak ada seorangpun yang bersedia.akhirnya dia mencoba sendiri mesin ciptaannya untuk pergi ke tahun kelahirannya dia, 1986. Dalam beberapa menit dia sampai ke tahun 1986. Dia dapat merasakan suasana masa lalu. Bahkan dia dapat melihat dirinya sendiri ketika baru lahir. Setelah puas dia memutuskan untuk kembali lagi. Tetapi, sesuatu yang buruk telah terjadi. Dia tidak bisa kembali ke waktu asal! Dia memeriksa mesin dan menemukan beberapa komponen mesin telah rusak. Komponen yang rusak diakibatkan kualitas komponen yang rendah karena 90 persen komponen yang dipakai adalah buatan lokal. Komponen yang rusak tersebut tidak tersedia di tahun 1986 ini. Beruntunglah dia karena di masa depan ada yang membuat mesin serupa dan meninggalkan mesinnya itu di tempat Koko berada sekarang. Namun mesin yang serupa itu mempunyai kelemahan. Mesin itu tidak bisa di set menuju tahun yang diinginkan sesuka hati. Mesin itu hanya bisa di set menuju tahun yang terdaftar di dalam mesin itu, bergantung dari tahun asal. Berdasarkan informasi dari daftar itu Koko mencorat-coret kertas mencari cara untuk menentukan waktu tercepat yang diperlukan untuk kembali ke tahun asal. Namun karena daftar tersebut cukup panjang, Koko kesulitan menemukan cara agar bisa kembali ke tahun asal secepat-cepatnya. Spesifikasi Masukan Baris pertama sebuah bilangan positif N 100000, yaitu panjang daftar. Baris kedua... N + 1 tiga buah bilangan X, Y, Z, dimana Z adalah waktu yang diperlukan menit untuk pergi dari tahun X ke tahun Y. Hanya akan ada maksimal seribu tahun yang berbeda dengan 0 < Z 1000 dan X, Y adalah 32-bit unsigned integer. Spesifikasi Keluaran Sebuah bilangan integer, merupakan waktu tercepat untuk kembali ke tahun asal (2040). Jika tidak memungkinkan kembali ke tahun asal, tulis -1. Teladan Masukan 5 1986 1987 2 1987 1988 2 1988 1989 2 1986 1989 5 1989 2040 10 Teladan Keluaran 15 Final Kompetisi Pemrograman IV Page 1 of 1

Batas waktu: 1 detik B106 / Rak Buku Mengatur urutan buku-buku pada sebuah rak buku perpustakaan merupakan pekerjaan yang membosankan, sehingga petugas perpusatakaan meminta bantuan Anda untuk menyelesaikan masalah ini. Buku-buku pada perpusatakaan diberi nomor dari 1 sampai N. Jika buku-buku pada rak perpustakaan berada pada keadaan acak, berapa langkah minimal dan tunjukkanlah langkahnya, agar buku-buku pada rak itu terurut dari 1 N, dengan cara menukar tempat dua buah buku setiap kali. Spesifikasi Masukan Baris pertama dari input adalah N (1 N 1.000.000). Baris selanjutnya adalah Z (1 Z N) yang dipisahkan oleh spasi, yang berisi urutan-urutan buku pada rak perpustakaan dalam keadaan acak. Spesifikasi Keluaran Baris pertama keluaran adalah sebuah bilangan bulat P yang menyatakan langkah minimum untuk merapikan buku-buku pada rak perpustakaan. Baris kedua sampai ke- (P+1) berisi dua buah bilangan a dan b yang menyatakan buku ke-a di tukar dengan buku ke-b (Salah satu solusi yang memungkinkan dapat diterima). Teladan Masukan 9 6 5 7 1 8 9 3 2 4 Teladan Keluaran 6 3 7 4 9 1 4 6 1 2 8 5 2 Final Kompetisi Pemrograman IV Page 1 of 1