Pembahasan CP CompFest - SMA

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

Pembahasan Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

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

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

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

Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search

Berkas Soal Final Competitive Programming Tingkat Mahasiswa. CompFest 2013

OSN 2013 Bidang Informatika. Pembahasan Soal

BUKLET SOAL. PENYISIHAN PEMROGRAMAN GEMASTIK September Soal

PEMBAHASAN SOAL FINAL BNPCHS 2014

Berkas Soal Penyisihan Competitive Programming Tingkat Mahasiswa. CompFest 2013

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Ujian Akhir Semester Ganjil 2013/2014

Algoritma + Pemrograman Pascal

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Pembahasan OSN Informatika 2017

BAB II LANDASAN TEORI

Algoritma Branch & Bound

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

OLIMPIADE SAINS NASIONAL IX

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Algoritma Brute Force (lanjutan)

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

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

PELABELAN TOTAL TITIK AJAIB PADA GRAF LENGKAP DENGAN METODE MODIFIKASI MATRIK BUJURSANGKAR AJAIB DENGAN n GANJIL, n 3

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Final Programming Competition (Mahasiswa)

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

BAB 3 SEARCHING A. TUJUAN

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Pembentukan Pohon Pencarian Solusi dalam Persoalan N-Ratu (The N-Queens Problem)

Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data

Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra

Olimpiade Sains Nasional 2015 Bidang Informatika. Pembahasan

LOMBA MATEMATIKA NASIONAL KE-25

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

BAB 2 LANDASAN TEORI

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

Praktikum Dasar Pemrograman

Modul Praktikum Algoritma dan Struktur Data

OLIMPIADE SAINS NASIONAL VIII

Penerapan Algoritma Branch and Bound dalam Pemacahan Travelling Salesman Problem (TSP) dalam Graf Lengkap

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Design and Analysis of Algorithm

SOAL DAN PEMBAHASAN UJIAN NASIONAL SMA/MA IPA TAHUN PELAJARAN 2008/2009

LOMBA MATEMATIKA NASIONAL KE-26

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

BAB III ANALISIS MASALAH

LOMBA MATEMATIKA NASIONAL KE-27

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

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

Design and Analysis of Algorithms CNH2G3- Week 7 Brute Force Algorithm Part 2: Exhaustive Search

Penerapan Algoritma Greedy untuk Permainan Flood It

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

5.3 RECURSIVE DEFINITIONS AND STRUCTURAL INDUCTION

SOAL UJIAN NASIONAL. PROGRAM STUDI IPA ( kode P 45 ) TAHUN PELAJARAN 2008/2009

BAB 1 PENDAHULUAN Latar Belakang

Decrease and Conquer

BAB 2 LANDASAN TEORI

SOAL UN DAN PENYELESAIANNYA 2009

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

A. Jangkauan Terbesar

Solusi UTS Stima. Alternatif 1 strategi:

Penerapan Algoritma Branch And Bound Dalam Optimasi Assigment Problem

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

dengan Algoritma Branch and Bound

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

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Graf untuk soal nomor 7

Bundel Soal Sesi 1 Bidang Informatika Olimpiade Sains Nasional X

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

𝑥 Mempunyai Solusi 𝑥 R???

Mempunyai Solusi untuk Setiap x R???

Analisa Kombinatorial Dalam Android Pattern Safety Lock

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

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

OLIMPIADE SAINS NASIONAL 2015 DESKRIPSI SOAL

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

PREDIKSI UAN MATEMATIKA SESUAI KISI-KISI PEMERINTAH

UAN MATEMATIKA SMA IPA 2009 P45

SOAL DAN PEMBAHASAN UJIAN NASIONAL SMA/MA IPA TAHUN PELAJARAN 2008/2009

Penerapan BFS dan DFS pada Pencarian Solusi

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

Shortlist Soal OSN Matematika 2015

Penerapan Algoritma Brute Force di Permainan Nonogram

UJIAN SEKOLAH SEKOLAH MENENGAH ATAS (SMA) DINAS PENDIDIKAN KOTA BEKASI TAHUN PELAJARAN 2013/2014 LEMBAR SOAL

BAB II LANDASAN TEORI

UJIAN SEKOLAH SEKOLAH MENENGAH ATAS (SMA) DINAS PENDIDIKAN KOTA BEKASI TAHUN PELAJARAN 2013/2014 LEMBAR SOAL

SOAL BABAK PENYISIHAN Programming Contest Sessions JOINTS 2008 BAGIAN PERTAMA : ANALITIK

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Kombinatorial. Matematika Diskrit Pertemuan ke - 4

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

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

Transkripsi:

Pembahasan CP CompFest - SMA Seperti yang pernah saya janjikan sebelumnya, inilah pembahasan CP CompFest tingkat SMA. Kode untuk solusi ini bisa diunduh di sini [1]. A. Laser Ajaib Pembuat soal: Verdiyanto Saputra Soal yang paling mudah untuk kontes ini, tetapi butuh ketelitian dalam mengerjakannya. Untuk setiap kolom, periksa apakah terdapat karakter '#'. Bila tidak ada, maka hasilnya sudah pasti "TIDAK KENA". Sementara bila ada dan bukan merupakan kolom terakhir, periksa apakah di kolom berikutnya bagian atas, tengah, atau bawahnya berisi karakter '#'. Bila tidak, maka jawabannya "TIDAK KENA". Apabila jawabannya bukan "TIDAK KENA", maka cetak "KENA". B. Password Internet Banking Pembuat soal: Irwan Mulyawan Ketelitian sangat dibutuhkan untuk memahami maksud soal dan mengerjakannya. Solusi yang saya buat adalah dengan cara rekursif. Pertama, bangkitkan bilangan prima yang lebih kecil dari 100. Cara yang standar berjalan cukup cepat karena kita tidak perlu mencari bilangan prima yang terlalu banyak. Misalkan string itu bernama S, memiliki panjang L, dan S[i..j] menyatakan substring dari S mulai dari indeks i sampai j (zero-based). Secara garis besar, algoritma yang digunakan: kerja(a){ jika (a+1 < L) lq <- 0 Q <- 2 lakukan terus: jika (a + Q - 1 >= L) // tahapan ini selesai, lanjut ke tahap berikutnya kerja(a + lq) http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 1/10

break selain itu // putar S[a..a+Q-1] balik(s, a, a + Q - 1) lq <- Q Q <- prima_selanjutnya(q) Algoritma itu dipanggil dengan kerja(0). Kompleksitas solusi ini tidak lebih dari O(N2). C. Berhitung Pembuat soal: Ricky Suryadharma Soal ini tidak mudah untuk dikerjakan, dan perlu beberapa strategi supaya kompleksitas waktunya rendah. Anda dapat membaca dokumen pembahasannya dari kak Ricky sendiri di sini [2]. D. Gudang Kardus Pembuat soal: William Gozali Gambar yang disajikan pada berkas soal rasanya cukup membantu untuk mendapatkan solusinya. Observasi 1: Bagian paling dasar dari gudang harus diisi sepenuh-penuhnya. Observasi 2: Setelah bagian paling dasar gudang diisi sepenuh-penuhnya, gudang ini bisa dianggap sebagai gudang dengan bentuk "hampir" setengah lingkaran dengan bagian bawahnya dipotong. Dengan begitu, strategi yang dijelaskan di observasi pertama dapat digunakan kembali. Sekarang bagaimana cara mengisi bagian paling dasar gudang dengan sepenuh-penuhnya? Perhatikan gambar berikut. http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 2/10

[3] Banyaknya kardus yang muat di "lantai dasar" adalah oor(2x/s). Nilai x sendiri dapat dihitung dengan: x=r2 S2 Setelah itu, lanjutkan ke bagian berikutnya ("lantai 2"): [4] Kali ini, nilai x adalah: x=r2 (2S)2 Secara umum, untuk "lantai k" rumus x adalah: x=r2 (ks)2 Lakukan terus sampai "lantai k" sehingga lantai tersebut tidak bisa memuat kardus, yaitu ketika R2 (ks)2<0 Dengan begitu, kompleksitas akhir solusi ini adalah O(R/S). E. Kuis Chanek Pembuat soal: William Gozali http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 3/10

Bila Anda belum terbiasa dengan DP, sangat disarankan untuk mempelajarinya terlebih dahulu (misalnya di sini [5] ). Bila sudah terbiasa, maka soal ini terlihat cukup straight-forward. Yang menjadi state cukup jelas, yaitu posisi kita berada sekarang. Misalkan f(a,b) menyatakan banyaknya uang maksimal yang bisa diperoleh sampai akhir permainan, apabila kita berada di baris a dan kolom b. Selain itu, anggap m[a][b] adalah uang yang tersimpan di baris a kolom b. Formulasinya adalah: f(a,b)={m[a][b],a=rmax1 i Ci b(m[a][b]+f(a+1,i)),a<r Terdapat RC state pada formulasi DP tersebut, dan setiap state membutuhkan waktu O(C) untuk diisi. Oleh karena itu kompleksitas totalnya O(RC2). Kompleksitas ini terlalu lambat, sehingga mendapatkan TLE. Kita coba sederhanakan persoalan yang ada. Misalkan tidak ada aturan bahwa kolom yang berikutnya dipilih harus berbeda dengan kolom saat ini. Maka kompleksitas DP itu bisa direduksi menjadi O(RC) saja dengan cara: Jika i adalah suatu bilangan dan x adalah sembarang bilangan, pilihan terbaik untuk setiap f(i, x) adalah pergi ke f(i+1, y), dengan f(i+1, y) adalah nilai terbesar dari f(i+1, 1), f(i+1, 2),..., f(i+1, C). [6] Mengapa demikian? Jelas karena tujuan kita mencari yang terbesar! Secara alami, seluruh f(i, x) akan menuju ke f(i+1, y) tersebut. Sekarang bagaimana bila ada aturan yang melarang kolom berikutnya harus berbeda dengan kolom saat ini? Caranya sederhana: simpan dua nilai terbesar ketimbang satu saja Misalkan f(i+1, y) adalah yang terbesar dan f(i+1, z) adalah yang kedua terbesar dari f(i+1, 1), f(i+1, 2),..., f(i+1, C). Maka: Jika x bukan y, maka f(i, x) pasti menuju ke f(i+1, y) Jika x adalah y, maka f(i, x) pasti menuju ke f(i+1, z) http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 4/10

[7] Menurut saya pribadi, untuk mengimplementasikan strategi ini akan lebih mudah apabila digunakan strategi bottom up. Karena berhasil menghilangkan looping dalam mencari pilihan terbaik, maka kompleksitas akhirnya O(RC). Cukup untuk mendapatkan AC. F. Dinas Perhubungan Pembuat soal: William Gozali Soal ini juga cukup umum, dan terlihat cukup straight forward. Strategi yang digunakan adalah ood ll (bila belum familiar, kunjungi saya [8] ). Setelah setiap kota diberikan label, sisanya tinggal memeriksa untuk setiap pasang kota apakah mereka memiliki label yang sama. Sayangnya, kita tidak bisa memeriksa setiap pasang kota karena banyaknya kota bisa sampai 50.000. Jelas akan mendapat TLE. Ada banyak solusi yang dapat Anda gunakan. Solusi dari saya adalah: Pasangan yang tidak terhubung sama dengan: semua kemungkinan pasangan dikurangi pasangan yang terhubung. Menghitung banyaknya pasangan yang saling terhubung tidak sulit, tinggal hitung saja untuk setiap label, ada berapa kota yang memiliki label tersebut. Misalkan banyaknya adalah x, maka banyaknya kota yang saling terhubung dalam komponen itu adalah x(x-1)/2. Bahkan, hal ini dapat dikerjakan pada saat melakukan ood ll untuk melabeli komponen. Jadi, jika ada K komponen dalam graf tersebut, masing-masing dengan banyaknya anggota n1, n2,..., nk, maka jawabannya adalah C2N C2n1 C2n2... C2nK. Kompleksitasnya O(M). Tambahan: Mengapa dibatasi sebuah kota dibatasi hanya memiliki 4 tetangga? Supaya pengguna Pascal bisa menggunakan representasi adjacency list dan tidak dirugikan dibandingkan dengan pengguna C/C++ :) http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 5/10

G. Pembiakan Selektif Pembuat soal: William Gozali Strategi paling naif adalah dengan memeriksa setiap pasang ikan jantan dan betina, sehingga kompleksitasnya O(N2) untuk setiap pembeli. Tentunya, cara ini (sangat) lambat dan tidak akan mendapat AC. Untuk memulai, urutkan dulu kualitas-kualitas ikan mulai dari yang paling kecil ke besar untuk masing-masing jenis kelamin ikan. Misalkan berikut ini adalah kualitas ikan jantan dan betina (masing-masing dalam sebuah baris). 1 3 3 4 5 8 9 1 2 2 3 4 4 6 Selanjutnya, kualitas ikan jantan ke-i akan dinyatakan dengan J[i]. Sementara kualitas ikan betina ke-i akan dinyatakan dengan B[i]. Jika pembeli ingin kualitas ikan keturunannya di antara 2 sampai 16, kita cari untuk setiap ikan jantan, banyaknya ikan betina yang dapat dipasangkan (hasil kali kualitasnya di antara 2 sampai 16) dengannya. 1: [2, 2, 3, 4, 4, 6] 3: [1, 2, 2, 3, 4, 4] 3: [1, 2, 2, 3, 4, 4] 4: [1, 2, 2, 3, 4, 4] 5: [1, 2, 2, 3] 8: [1, 2] 9: [1] Pencarian banyaknya ikan betina itu bisa dilakukan dengan binary search yang dibagi menjadi dua bagian: 1. Mencari batas bawah, yaitu indeks i sedemikian sehingga hasil kali B[i] dengan kualitas ikan jantan itu lebih dari atau sama dengan A (batas bawah yang diberikan pembeli). Anggap nilai batas bawah ini adalah L. 2. Mencari batas atas, yaitu indeks i sedemikian sehingga hasil kali B[i] dengan kualitas ikan jantan itu kurang dari atau sama dengan B (batas atas yang diberikan pembeli). Anggap nilai batas atas ini adalah U. Dengan sedikit matematika dan akal-akalan dalam binary search, kedua hal itu dapat dilakukan dalam O(log N). Banyaknya ikan betina yang "cocok" dengan ikan jantan itu kemudian bisa dihitung dengan (U - L + 1). http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 6/10

Sejauh ini, menjawab satu pertanyaan pembeli membutuhkan kompleksitas waktu O(N log N). Tentunya masih juga belum cukup untuk mendapatkan AC. Strategi yang mungkin konyol, tetapi dapat dicoba adalah dengan memperhatikan bahwa batas bawah/atas untuk beberapa ikan jantan mungkin saja sama. Contohnya saja, perhatikan pada contoh di atas bahwa ikan dengan kualitas 3 dan 4 memiliki kon gurasi ikan betina yang sama persis. Jika diperhatikan lebih jauh lagi, hanya ada maksimal 100.000O(100.000) kemungkinan untuk batas bawah/atas dari suatu ikan jantan! Mengapa bisa demikian? Perhatikan bahwa kualitas setiap ikan tidak lebih dari 100 ribu, demikian juga batasan untuk pertanyaan-pertanyaannya. Untuk membuktikannya, cukup hitung banyaknya elemen himpunan H(K) dengan: H(K)={ K1, K2, K3,..., KK } Perhatikan bahwa banyaknya elemen pada H(K) belum tentu K, karena elemen yang nilainya sama hanya dianggap ada 1. Ingat bahwa ini adalah himpunan :) Tentunya, ukuran terbesarnya adalah ketika K = 100.000. Nyatanya, hanya ada 631 elemen! Selain itu, bila dibuat gra k untuk H(1) sampai H(100.000), hasilnya adalah: [9] Kurva berwarna biru adalah kurva untuk H(x), sementara kurva jingga adalah kurva fungsi f(x)=x. Jika diteliti, H(x) 2x. Dengan begitu, yang perlu dilakukan tinggal: 1. Anggap M adalah nilai kualitas ikan/batasan permintaan pembeli yang terbesar 2. Kelompokkan setiap ikan jantan, menurut nilai ceil(a/j[i]). Maksimal terdapat O(M) kelompok. Semua ikan jantan pada satu kelompok memiliki batas bawah yang sama. 3. Kelompokkan setiap ikan jantan, menurut nilai oor(b/j[i]). Maksimal terdapat O(M) kelompok. Semua ikan jantan pada satu kelompok memiliki batas atas yang sama. http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 7/10

4. Lakukan binary search untuk setiap kelompok untuk mencari batas bawah dan atas mereka. Total operasi yang dilakukan adalah O(MlogN) per pertanyaan pembeli. Cukup untuk mendapatkan AC. H. Pipa Bocor Pembuat soal: William Gozali Cara sederhana yang mungkin digunakan adalah: 1. Untuk setiap petak yang memiliki pipa, tandai daerah sekitarnya yang terkena semburan airnya. 2. Lakukan BFS dari petak awal ke petak tujuan, tanpa melewati petak yang basah. Kompleksitas untuk langkah pertama adalah O(NRC), sementara kompleksitas langkah kedua O(RC). Karena langkah pertama terlalu lambat, cara ini akan mendapat TLE. Seandainya setiap pipa mengeluarkan air dengan kekuatan yang sama, soal ini dapat diselesaikan dengan mudah: 1. Untuk setiap petak yang memiliki pipa, masukkan lokasi petak itu ke queue. 2. Lakukan ekspansi (seperti pada BFS) sebanyak kekuatan air dari pipa. 3. Lakukan BFS dari petak awal ke petak tujuan, tanpa melewati petak yang basah. Strategi ini dapat segera diadopsi untuk menyelesaikan persoalan ini. Ketimbang memasukkan semua petak berisi pipa ke dalam queue, cukup masukkan pipa-pipa dengan kekuatan air terkuat terlebih dahulu. Misalkan kekuatan air pipa yang terkuat adalah T. Apabila Anda melakukan ekspansi node (seperti pada BFS), sebenarnya sama saja dengan memasukkan pipa-pipa baru dengan kekuatan T-1. Tambahkan pipa-pipa dengan kekuatan T-1 yang ada pada kasus uji (bila ada) ke dalam queue, lalu lakukan hal itu secara terus menerus. Proses ini mirip seperti BFS yang di-pause, lalu ditambahkan isinyaberkali-kali. Berhubung setiap petak hanya akan masuk ke dalam queue, diproses, dan dikeluarkan dari queue maksimal satu kali, maka kompleksitasnya O(RC) saja. Lanjutkan dengan BFS, maka cukup untuk mendapatkan AC :) [10] http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 8/10

Tambahan: Saat pembahasan, ada siswa (kalau tidak salah, Candra Ramsi Gunawan?) yang menawarkan solusi: 1. Untuk setiap petak yang memiliki pipa, tandai daerah sekitarnya yang terkena semburan airnya. Namun hanya boundary-nya saja, atau kelilingnya. Dengan kata lain, proses ini hanya membutuhkan maksimal O(min(R,C)). 2. Lakukan BFS dari petak awal ke petak tujuan, tanpa melewati petak yang basah. Kompleksitas akhirnya adalah O(N min(r,c) + RC), dan cukup cepat untuk AC. Sepertinya cara ini juga tidak memiliki celah yang menjadikannya WA. Luar biasa! Komentar Mempersiapkan kontes untuk siswa selalu tidak mudah. Sulit memperkirakan kemampuan siswa zaman sekarang, dan mengatasi masalah ketimpangan (ada yang sangat kuat, ada yang masih pemula). Namun saya cukup senang karena set soal ini dapat menahan sang juara sampai 164 menit (hampir 4 jam) untuk menyelesaikan semua soal. Links 1. https://drive.google.com/ le/d/0b1gti57yl5x9dl96zw9tmje2mms/edit?usp=sharing 2. https://drive.google.com/ le/d/0b1gti57yl5x9qtffs2dyedu2qvk/edit?usp=sharing 3. http://3.bp.blogspot.com/- cuufvizkisa/uohzhcskrti/aaaaaaaaati/jqdohznkcva/s1600/sd_1.png 4. http://2.bp.blogspot.com/- mzrgvpsewfo/uohzotcpwbi/aaaaaaaaatq/3z7cn4kmw38/s1600/sd_2.png 5. http://ristekfasilkom.com/pengenalan-dynammic-programming/ 6. http://1.bp.blogspot.com/- ln4yeteamhs/uohz2xiicei/aaaaaaaaaty/_jrjjkgdvk4/s1600/se_1.png 7. http://1.bp.blogspot.com/-04hjscgi3nq/uox- 2fOi2MI/AAAAAAAAASo/tbqFeMFy5sM/s1600/SE_2.png 8. http://ristekfasilkom.com/algoritma-graf/ 9. http://3.bp.blogspot.com/- YM2XIRKSmjY/UnXgTUKPeAI/AAAAAAAAAQQ/ygCUt4_uxUw/s1600/SG_1.png http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 9/10

10. http://4.bp.blogspot.com/-1cqgnui8bhc/uox_c91kh4i/aaaaaaaaas4/vj_rqpwe79g/s1600/sh_1.png Get a free Evernote account to save this article and view it later on any device. Create account http://kupaskode.blogspot.co.id/2013/11/pembahasan cp compfest sma.html 10/10