Skip to main content

Mengikuti ICPC 2018


ah, ICPC. Singkatan dari International Collegiate Programming Contest. Perlombaan paling bergengsi untuk anak kuliahan. UI sendiri cukup aktif mengikuti perlombaan ini. Aku sebagai Maba dapat kesempatan untuk mengikuti lomba ini dan dapat keluar negeri juga. hehe. Berikut cerita ICPCku tahun ini. Selamat menikmati.

Pembentukan Tim


Di UI ada seleksi untuk pembentukan tim ICPC yang nantinya akan mewakili UI ke regional yang ke luar negeri. Seleksi ini dibuka untuk seluruh UI, kating-kating sampai maba boleh daftar, bahkan untuk non fasilkom pun boleh (Pak Denny bilang pernah ada anak FMIPA lolos :O).

Seleksi ini cukup singkat. Ada 3 kontes. 2 kontes pendek dan 1 kontes panjang.

Kontes pendek itu durasinya 2.5 jam dan ngerjain di lab. Dapet poin berdasarkan ranknya yaitu max(18-rank,2). Kontesnya di Vjudge.

Kontes panjang itu durasinya 1 minggu dan dapet poin cuma berdasarkan jumlah solve. kontesnya dari selasa - selasa depannya.

Ini aku ada kendala di laptop. Jadi laptopku saat itu (ROG) sudah 2 minggu kena aer jadi aku gaada laptop untuk ngerjain. Aku dapat laptop baruku (thinkpad) sekitar hari kamis dan aku fokuskan untuk install ubuntu. Karena masalah fd OSNku yang jadul, ubuntu tak terinstall dan aku pinjem fdnya Kak Sage baru bisa. Baru hari minggu aku dapat ngerjain soalnya dengan sungguh-sungguh.

soal kontes panjang susah jir :" . Ada 1 soal yang banyak ac yang katanya pake aho-corassic, aku coba pelajari namun cuma ngerti dasar doang. Jadi aku hajar pake segtree+suffix array. Karena waktuku lagi sehari (waktu itu senin), aku banyakkan koding kertas saat kelas dan sorenya aku implement. Aku submit-submit barengan aja biar greget. Ada aja yang WA tapi syukurnya banyakkan yang AC.

maksudnya backtrack trus di optimize dp bitmask :v
clickbaiting before it was cool

Habis itu ada kontes pendek kedua, malam itu diumumin komposisi timnya. Aku dapat tim dengan Kak Norman dan Kak Fairuzi. Nama tim kami: Semoga ayas juara versi empat titik nol-nol. alasannya? ayas = saya yang dibalik :). versi 4 karena versi 3nya udah timnya Kak Rey, FWP, Firman dan versi 1 dan 2 itu udah tahun lalu.

Kalau masalah latihan, tim kami latihan rutin tiap hari selasa. Kadang kalau sabtu ada mirror regional dimana gitu kami juga ke kampus. Seperti NEERC dan Vietnam open contest.

Menerjang badai, menerobos banjir, dan melawan petir
demi sepotong ayam.



ICPC Jakarta Regional


Pagi - pagi makan nasi
Hati - hati kalau basi
Naek bis ke icpc
pulang-pulang perut keisi
- Kak Anab

ICPC Jakarta  dilaksanakan pada tanggal 10-12 November.

Timku h-7 cheatsheetnya masih generic. Jadi hari selasa kami ngumpul ngerombak cheatsheet. Tugasku lalu implement ulang data structurenya dan nanti pake implementku.

Sayangnya setelah nambah-nambah konten. Cheatsheet kami hanya 22 halaman, ditambah h-1 masih ada beberapa yang belum di test. Yolo aja 22 halaman. Tim Tama katanya gapake cheatsheet malah .-.

Dan aku gasempet ngetest persistent segtree :"

Practice Session (10 November)

Tim UI memilih untuk PP ke contest site setiap hari. Alasannya adalah karena dekat (Binus) dan hemat. Tapi jeleknya aku harus bangun pagi bener :'(

Kami berencana untuk berangkat jam 6 pagi dari UI, dan maka dari itu aku harus bangun jam setengah 6. Jeleknya berangkat pagi ini, gerbang kukel belum dibuka jadi aku harus jalan kaki ke pacil.

Bangun pagiku lancar, namun aku sampai jam 6 lewat 10. Dengan jiwa maba, aku pikir masih sepi. Taunya udah mau berangkat :O. Mantap UI, memang tidak pernah mengecewakan!

Sebenernya hari ini untuk para maba ada acara sabtu pelangi, semacam acara seneng-senengan bersama panitia PMB (osjur). Dari dulu aku selalu berhalangan hadir karena selaluhari sabtu dan hari ini bukan pengecualian :(

nguping random:
A: "eh tahu ga kenapa nama acaranya sabtu pelangi?"
B: "karena ceria kan?"
A: "engga, soalnya mereka tahu ada orang-orang kaya rey!!!"

Naiknya bis kuning (bikun) charter. Aku tidur di bus.

Bangun-bangun sudah sampai di binus. Kami disambut sama LO berbaju pink dan mengantar kita ke tempat makan registrasi ulang.

Tempat makannya di lantai 4. Binus memiliki lift, namun kami diarahkan ke eskalator karena mereka ingin showoff :(

sampai di lantai 4, langsung regis aja. Dapat tas kecil dalemnya isi baju dan nametag.

Saatnya makan! untuk sarapan kali ini engga terlalu bervariasi, cuma ada ayam goreng, nasi, dan sayur. Namun bagi anak kost, ini lebih dari cukup. Ayamnya aku ambil 3 potong + sayur secukupnya. ah nikmatnya hidup.

Selesai sarapan, ada acara pembukaan. Ini nama tim di mention satu-satu oleh pembawa acara yang sangat pro. Mau nama sesusah apapun seperti xXn3wW0rlD0rd3rXx pun bisa dibaca. Nama tim univ lain ternyata biasa aja, nama-nama tim UI memang paling top :)

ada juga the infamous ayas series:
- ayas
- Semoga ayas juara v5.0
- Semoga ayas juara versi empat titik nol nol  (my team)
- Semoga ayas juara versi tiga titik nol nol

LOnya ayas series sama dan cuma nyebut kami "ayas3", "ayas4", "ayas5". Selesai acara pembukaan, kirain bisa langsung beraksi di practice session, taunya dapat makan lagi! asek-asek buffet lagi.

Kali ini buffetnya enak. Ada ikan telur asin. Aku tahu bahwa engga ada makan malam jadi aku ambil banyak buanget ikannya:

Efek anak kos

Beberapa orang-orang tak-asing juga keliahatan yang ikut sebagai peserta. Beberapa diantaranya ada Steven (SW), Yehezkiel, Kak Ammar dan Kak Prabowo. Aneh juga bersaing dengan kakak-kakak SC TOKI Open :v

Selesai makan, barulah saatnya beraksi!

Walaupun hanya practice session, aku ingin unjuk taring, kalau bisa ada first solve. Soalnya ada 4, aku baca 2 soal terakhir. Nemu soal greedy gampang, setelah Kak Norman AC soal A, aku koding soal greedynya dan AC. Lalu Kak Norman ngoding soal C, AC. Sudah ac 3, mantap juga.

Soal sisa 1, dan Kak Fairuzi yang ngoding. ini soalnya lumayan tricky, namun Kak Norman dengan skill counter-tcnya selalu berhasil menemukan counter TC sehingga akhirnya soal B ini ac.

Waktu practice sisa setengah jam. Soal A itu intinya kan dikasih array dan diminta mengoutputkan value yang bukan sum, max, atau min dari array tersebut. Iseng aja aku buat program yang nyetak tanggal lahirku, dan AC :)

Timku bersebelahan dengan ayas5, dan ada desah-desuh katanya koosaga ada di ruangan ini. Ternyata bener! Keren banget ada legendary grandmaster Korea milih untuk ikutin regional Jakarta yang sangat jauh dari Korea :" (Tapi karena itu chance wf tim sini berkurang 1...)

Selesai kontes practice, bener saja tidak ada makan malam. Tim UI langsung balik ke bikun dan kembali ke UI. Oh iya, ikan asam manisnya baru terproses di perutku dan terasa banget penuhnya ketika di bikun. Andai saja aku punya punuk unta, mungkin aku gaperlu makan selama 2 hari.

Contest Day (11 November)

Kalau kontes day ini, lebih longgar sedikit karena mulainya jam 10. Tim UI berangkat jam 7.30 dari UI untuk alasan keselamatan (perut).

Sampai di binus, langsung aja makan. habis itu ke ruang kontes, kontes deh.

soal: https://training.ia-toki.org/problemsets/146/problems

===Kontes dimulai

Kak Fairuzi baca A-D, Kak Norman E - H, aku I - L.

Kak Fairuzi baca soal A, langsung kepikiran solusinya itu invert semua 0 jadi 1, dan 1 jadi 0. "Soal A pasti paling gampang" katanya. Tapi Kak Norman melihat scoreboard dan semuanya merah-merah di soal A yang berarti memang trap.

Bener aja, kalau 10101, kita output 01010 bakal salah karena edit distancenya 2:
10101 -> 0101 -> 01010

Sambil Kak Fairuzi mengerjakan soal A, AC pada soal I sudah numpuk jadi aku membaca soal itu. Ternyata soalnya super ez sudah simulasi saja. jadi aku simpen di array lalu simulasi dari belakang.
Akumah kalau udah nemu solusi yang feasible aku bakal koding, gaperlu nambah observasi lagi, ngerepotin aja. Submit dan soal I AC

Lalu aku baca soal L, ini soalnya masih mudah dan yang AC masih sikit. Aku prediksi bentar lagi acnya bakal numpuk juga. Jadi agar aku bisa ngerjain soal yang lebih susah maka soalnya aku lempar ke Kak Norman dan jelasin solusinya yaitu hapus semua elemen 1 kecuali elemen terdepan selama sumnya masih >=k. Kak Norman sempet ragu-ragu dalam ngoding, namun akhirnya dikoding dan soal L AC

Kak Fairuzi masih tidak berkutat dari soal A, sedikit-sedikit mengumpulkan obervasi untuk menyelesaikan soal tersebut. Sementara aku selama tadi Kak Norman ngerjain soal L, aku sudah baca dan OTW solve soal D.

Observasiku sangat simple dan naif: pasti bisa kalau semua petak dalemnya keisi. Aku koding dan WA -_-.

Kak Norman to the rescue! ketemu kasus kalau ada yang panjangnya 1, jawabannya itu semua harus dipagerin kecuali bagian kiri dan kanan. Submit dan WA!!

Lanjut debug, ditemukan kalau ada yang panjangnya 2, jawabannya itu bagian yang panjangnya 2 harus ada minimal 1 pager (kecuali pojokkan). Submit dan MASIH WA!!!!

Lanjut lagi debug, ketemu kalau petaknya normal dan pinggirannya bersih dari pager, harus minimal ada 1 pager agar kalau mulai dari luar, kita bisa masuk kedalem. Implement, submit, dan... MASIH WAAAA!!

Stress sejenak, lalu Kak Norman sadar bahwa pojokkan ga dihitung. Benerin dan Akhirnya soal D AC

Dengan penalti monster +5, kami moveon dari soal tersebut.

Aku  lalu lompat-lompat baca soal, sampai ketemu soal C, coba mikir-mikir sejenak dan lalu tiba-tiba Kak Fairuzi AC soal A hanya dengan 1x gagal. Akurasi yang tinggi! mental tim naik lagi.

Saat aku balik coba attack soal C (meski belom ada yang solve), kak Fairuzi ngelempar soal H ke aku yang katanya soal data structure. Aku baca dan kepikiran solusi greedynya yang pake priority_queue. Jadi yang intinya ini kita linesweep lalu interval yang aktif masukkin PQ. Kalau misal mau taro -1 di indeks i, cek apakah sum terbaik sekarang apabila dijadikan -1 tetep valid dan apabila iya, bisa di lazy update pqnya dengan cara buat variabel global yang menandakan pengurang yang terjadi di dalam PQ. Koding bersih, dan soal H AC.

Next, aku baca F dan aku salah pol baca soal. Aku kira kita engga tahu Budi sialan itu sedang ngerjain apa dan harus memilih waktu yang tepat sehingga apapun urutan budi ngerjain soal, dijamin pasti kita ngerjain lebih banyak soal darinya.

Aku rasa ini masuk akal, karena dimintanya kapan kita ledakkin balonnya, ga diminta minimize jumlah balon, dan hanya diminta agar kita pasti lebih banyak solve dari budi. Aku coba orat-oret beberapa theorema game theory yang aku tahu namun gagal mendapatkan kompleksitas yang baik. Akhirnya aku hengkang dari soal F dan baca soal G.

Walau soalnya belum ada yang solve, aku merasa cukup yakin bisa solve ini. Solusi N^3 log N udah kepikiran, namun dengan N = 500, aku yakin bukan itu solusinya. Jadi aku coba cari-cari teorema-teorema namun kepergok timku yang nanya ngapain aku ngerjain soal yang belom ada attemp

Jadi aku bantuin Kak Norman yang sedang solve J, ngasi-ngasi ide (beberapa ternyata sesat). Akhirnya karena kelihatannya sudah tanda-tanda AC, aku kembali solve G yang sampai saat itu belum ada attemp. Sementara itu, Kak Norman AC J

F tiba-tiba mendapat banya AC. Kak Fairuzi nanya kenapa aku ga coba attemp F. Aku bilang kalau ini soal game theory dan aku engga ketemu. Kak Fairuzi pingin tahu soalnya seperti apa jadi aku coba jelasin dari paragraf awal. Ketemu deh line ini:



Tiba-tiba soalnya menjadi gampang banget. Tinggal di greedy aja kan? caritahu Ayu dan Budi bisa solve sampe mana, dan caritahu waktu-waktu optimal untuk ledakkin balon. Untuk nyari tahu waktu optimalnya bisa pake suffix maximum.

Aku koding bentar dan WA. Aku kira greedynya ada tricky dan makanya dikit yang AC. Aku minta print solusi dan debug bareng Kak Fairuzi dengan cara bacain kodeku. Ternyata sambil baca langsung nemu bugnya yaitu salah tanda (<= aku tulis <). Submit dan masih WA!, aku panik karena rasanya benar, Kak Norman kecewa karena ternyata aku submit di soal yang salah -_-" Submit dan soal F AC

Ketika aku lihat waktu AC Fku, aku sangat kecewa. Aku submit 1 menit sebelum freeze!!! -_-. tidakkk harusnya aku sabar nunggu semenit lagi. Sekarang pasti tim-tim lain berpikir "ah galang sicupu aja ac, berarti pasti soalnya gampang".

Karena sejam terakhir. Tim kami menggabungkan kekuatan untuk soal G. Kak Norman nemu solusi yang tanpa binser, namun pake priority queue (sama aja N^3 log N). disubmit dan TLE padahal kompleksitasnya N^3 log N.

Aku lalu kasi ide optimisasi yaitu kalau misal banyaknya node yang degreenya >=k itu sudah >=k, maka jawabannya pasti <=k. Awalnya Kak Norman gapercaya ini bakal ngaruh, namun karena waktu sisa sejam akhirnya di implement juga. di submit, dan TLE.

Ternyata lupa di break kalau kondisinya tercapai...

Galang: "Kalau ini AC, jangan bereaksi ya!!"

Tambah 1 baris, submit, dan... AC!!!! soal G AC BUNG!

*kami teriak*

Kita AC 8 dan menurut scoreboard freeze kita national winner. Kami akhirnya menggabungkan kekuatan untuk soal K. Mulai nemu observasi gila-gila seperti kalau degree genap maka pasti bisa. Namun kodingan DFS Kak Fairuzi engga rampung dan kita mengakhiri kontes dengan AC 8.

===kontes selesai

Selesai ngontes, ada makan-makan (lagi!). Nahini aku manfaatkan kesempatan untuk PDKT sama koosaga. Orangnya baik dan ramah ternyata.

Dapat foto pula

Habis makan, acara penutupan. Ada tari-tari, lalu award first solver (timku gadapet). Lalu acara hadiah deh. Sejujurnya aku saat itu engga tahu kalau ICPC Jakarta dapat medal. Waktu tim ReFreshPHD dipanggil dapet bronze, aku loncat-loncat karena artinya tim kami dapat medali!

Aku sempet kecewa karena di resolver ada tim yang naik sehingga peringkat akhir tim ayas4 itu peringkat 9 dan dapat perunggu. Aku kira ini perunggu pertama, tapi tim jatengpride (peringkat 8) juga dapat perunggu. Tertutuplah sedikit kenyesekkan ini.

dapet jaket kece :)

final scoreboard, rank 9 :)

Next, ada national winner. 12 tim indo yang engga dapat medali bisa dapat jaket. Tapi sayang misal peringkat 3 besar indo (13,14,15), tulisan jaketnya "National Gold Medalist" jadi kelihatan lebih keren di CV daripada "Bronze Medalist"ku padahal lebih bagus :( karena ini pada hari-hari berikutnya Kak Rey sering menyindir aku -_-"

ICPC Jakarta ini memberi pengalaman berharga. Aku kurang niat ngeproof sesuatu dan maka dari itu gabisa solve K. Untuk C, aku terjebak trauma soal konstruktif jadi tidak berpikir untuk mengerjakan soal itu. Next time, aku yakin akan lebih baik.

Malamnya ada makan-makan terakhir. Yang ini ada aneka tipe makanan. Dari siomay dan sate sampai steak dan carbonara pun ada. Aku sudah kangen carbonara jadi aku ambil itu yang banyak. Penyesalan terjadi karena aku langsung kenyang dan walau makanan banyak aku samsek ga nambah :(

Excursion Kuliah day (12 November)

Sebenernya sekarang ada excursion. Namun tim UI gaikut karena masalah perkuliahan. Hari ini kuliah seperti biasa.





ICPC Nakhon Pathom Regional

"Nakhon Pathom itu ibaratnya depoknya Thailand" - Pak Denny

Karena aku tim inti, aku dapat kesempatan untuk ikut regional ICPC yang di luar negeri. Tahun ini tim inti UI ada 5 tim dan mengirim ke 3 regional: Hanoi (Vietnam), Nakhon Pathom (Thailand), dan Singapore.

Timku, ayas4 bersama dengan tim ayas3 dipercayakan untuk ke Nakhon pathom.

Lombanya tanggal 16-18 November, jadi kita berangkat tanggal 15. Yoi, 4 hari setelah Regional Jakarta, kami sudah tanding lagi. Satu sisi, senang karena habis ini bisa fokus kuliah. Sisi lain, sayang karena menurutku waktu untuk mematangkan tim masih kurang. Gofood gratis kalau lagi latihan tim juga patut disayangkan :"

Keberangkatan, 15 November 2018

Tipikal anak rantau, cuma punya 1 koper gede. Tentunya sangat merepotkan apabila aku bawa koper raksasaku :/ (aku tidak ada rencana untuk menetap di Thailand). Maka dari itu, aku pinjem kopernya Salman.

Pesawat jam 1, dan amanah Pak Denny adalah kita sudah sampai h-3 jam, yakni jam 10. Anak kos depok memilih untuk berangkat bareng (:v) dari pacil jam 8. Aku sudah bangun jam 6, packing-packing, lalu aku makan dulu di warteg terdekat karena bandara mahal.

Selesai makan, aku jemput Kak FWP di kosannya. Kak FWP sendiri tidak membawa koper, dan membantu aku bawa koperku diatas motor.

Sampe di pacil (8 lewat sikit), yang lain (Kak Norman, Kak Rey) belom datang. Keluarnya aku dari toilet, mereka semua lagi main pingpong.

Okedeh aku pesen gocar. agak nunggu karena gaada gocar di UI pagi-pagi. Kakak-kakaknya lanjut main pingpong deh. Konon semua orang yang masuk pacil bakal jago main pingpong, namun aku counter examplenya.

Gocarnya 170 rb, dibagi 4 jadi 42500. Lebih murah dari damri :)

untuk yang DM: you just activated my trap card

jahat :(

Walau kita berangkat jam setengah 9 lebih, jalan sangat lancar dan kita sampai sekitaran setengah 10. bahkan sebelum Kak Fairuzi yang tinggal di Jakarta. Disana sudah ada ada Pak Denny yang menunggu.

Setelah semua ngumpul, check-in bagasi, lanjut ke dalem deh.

Pada liat-liat posisi duduknya di pesawat dan aku denger ada rencana mau tuker-menuker. Aku jelasin kalau tempat duduk di pesawat itu kan sudah diatur dengan memperhitungkan keseimbangan berat badan. Nah terus kakak-kakaknya sadar kalau kita gapernah ditanya berat bedan. Aku jelasin bisa aja pesawatnya masukkin data jenis kelamin, umur, tempat tinggal, kewarganegaraan ke model regresi yang memprediksi berat badan kita. Namun data scientist Rey bilang bahwa korelasinya weak.

Setelah prosedur normal, kami semua tiduran di kursi santai bandara itu.

Pesawatnya Thai Airways, 1 deret bertiga. Aku dapat dengan Kak Norman dan Kak Rey. Entah kenapa pada gajadi tukeran tempat. Video keselamatan pesawatnya unik, ada cerita dongengnya gitu. Seperti misal tiba-tiba orangnya lagi sesak nafas terus ada cupid jatohin masker oksigen. noh: https://www.youtube.com/watch?v=Vq-6eiTQVfU

Karena di pesawat bakal gabut, aku keluarin prinanku: soal SWERC 2016. Selama di pesawat aku ngerjain soal itu. Sesekali aku break main games yang di tvku. Sayangnya aku lupa screenshot scoreboardnya jadi aku gatau mana soal yang susah. Sekalian latihan mencari soal mudah :/

3 jam penuh keambisan berlalu dan mendaratlah di bandara Thailand. Disana kami ngambil bagasi lalu menukarkan USD di basement.

(sudah jalan jauh)
Pak Denny: "hmm disini ratenya 31 baht, perasaan disana (mengingat counter yang sudah jauh kita lewati) 32 baht deh"
(balik ke counter tersebut)
Makasih Pak Denny yang pengertian dengan saya sebagai anak kos :"). Dengan asumsi 1 baht = Rp 450, saya baru saja menghemat 22500 dengan berjalan beberapa menit.

Setelah puas menukar, kami balik ke lantai atas lalu keluar dari bandara. Pak Denny pesan Grabvan untuk ke hotel. Saya baru tahu ada yang namanya grabvan, itu jadi bisa pesan minibus dari aplikasi grab. Sangat enak karena kami ber 7 bisa 1 mobil.

Waktu kami meninggalkan bandara sudah sekitar jam 5 dan sudah terdengar musik keroncong. Namun kita harus ke hotel dulu naro koper-koper. Okedeh. Perjalanan menuju hotel dilewati dengan jokes-jokes yang angkatan atas yang aku tidak mengerti. Sedih juga jadi satu-satunya maba yang ke Nakhon Pathom. Saat mau sampai di hotel, tiba-tiba kakak-kakaknya ganti topik ngomongin mesin dan onderdill, ini doang jokes yang aku ngerti. maksudnya tes morfologi wkwk

Sampainya di hotel, ada perebutan kamar. Kakak-kakaknya tidak ada yang mau sekamar dengan Kak FWP. Jadi Pak Denny bilang akulah yang bakal sekamar dengan Kak FWP, "biar paling junior bisa berguru dengan paling senior" katanya.

Kita taro koper bentar, terus cus deh mencari makan. Kita berniat makan di emper-emper pinggir jalan. Namun warung emper-emper sini "berbeda kelas" dengan tempat makan yang ditutupin terpal di Indo. Disini tempatnya bersih karena polusi sedikit, dan juga diberisihkan dengan benar. Tipe-tipe warungnya juga bervariasi, mulai dari mie, kare, katsu, sampe steak pun ada. Akhirnya kami memutuskan untuk membeli steak karena sudah cukup jauh jalan.

segini 65 baht doang :)

Ternyata steak itu lebih murah daripada yoshinoya :O. Aku menyimpulkan biaya hidup Thailand mirip dengan di Indo. Sebelum ke Thailand, aku selalu ke negara-negara yang kursnya kuat :/ (jepang, singapore, dll) jadi ini pertama kali ke negara yang imbang.

Selesai makan, mampir ke sevel (seven eleven) untuk beli sarapan besok sebagai antisipasi. Aku beli onigiri dan roti crabstick. Sepertinya roti crabstick ini "sari roti"nya thailand. Setelah itu balik hotel deh.

Aku mandi, lalu belajar dikit (hari terakhir bisa belajar), lalu berusaha tidur.

Baru aku ngerti kenapa kakak-kakaknya gamau sekamar dengan Kak FWP :v
aku berusaha tidur dri jam 10, namun Kak FWP masih nugas dengan lampu hidup. Aku sebagai anak dokter tidak bisa tidur kalau engga gelap. Akhirnya jam setengah 1 lampu pun dimatikan.

but wait...

Ada bunyi yang sangat ngeselin jam 3 pagi. bunyi nyanyian ayam berkokok di peternakan ribut. Ternyata itu alarmnya Kak FWP yang bunyi jam 3 pagi -_-". Dan kocaknya yang bangun aku, bukan kak FWP. Yaudah aku beranjak untuk matiin. ehh alarmnya bunyi lagi jam 3.30 -_-". Matiin lagi, bunyi lagi jam 4 :". dst. Jadi pada dasarnya malam itu aku cuma tidur 2.5 jam.

Practice Session, 16 November 2018

Tapi paginya jam 5-an gitu alarmnya ga bunyi lagi dan aku bisa tidur sampe jam 8. Not bad.


*rey

Setelah beres-beres dan makan onigiri. berangkat deh dengan berjalan kaki ke hotel times 24. Disana udah ada minibus yang nungguin. Jadi minibusnya itu karena kapasitas kecil jadi muter-muter dari lokasi ke hotel times 24. Aku setelah nunggu busnya datang lagi aku ketemu dengan temen pelatnasku Steven Kurnia. Aku tanya dia kuliah dimana, dia bilang "merah putih" memang bener sih...

Jarak dari hotel ke lokasinya engga terlalu jauh. Tempat lombanya di Mahidol University. Baru sampai ada registrasi ulang. Saat regis kami diminta untuk memberikan "nama inggris" dari tim kita.

hope ayas win four point zero zero team


Setelah ganti baju, ke ruang aula gitu ada sarapan. Sarapannya cuma ada kopi sama roti. Rotinya banyak pilihan dan aku ambil roti sosis. Ketemu dengan tim NUS dengan coachnya.

Maba in Action!

Setelah selesai makan dan memastikan bahwa boleh ngambil lebih dari 1 roti, aku kembali ke counter roti dan mengambil 2 lagi roti sosis untuk "bekal" di hotel nanti. Untung aku bawa tupperware wkwk.

Masuk ke tempat kontes, ini tempatnya ada sekat-sekatnya. Menurutku lebih safe daripada di icpc jakarta duduknya deket-deketan :/

Untuk practice ini, cuma ada 3 soal dengan waktu 90 menit. Biasanya kalau ac dapat balon, ini dapatnya lolipop sebagai "balon kecil".

1 orang baca 1 soal, aku kebetulan dapat soal termudahnya yang aku koding beberapa detik udah AC. Kak Norman dapat ide untuk soal yang dia baca namun karena lagi malas aku yang kodingin dan AC. Untuk soal ketiga itu Kak Fairuzi ngoding pake set-set dan ngebug, walaupun udah triple ngoding tetap gabisa di debug dan akhirnya tidak ac. Sedih cuma dapat 2 lolipop :(

Sempet mati lampu sih pas akhir-akhir practice session dan aku kira itu nandain kontes selesai jadi aku tepuk tangan. Maafkan aku...

Selesai latian kami balik lagi ke times24 untuk persiapan besok. Malamnya mau makan di tempat steak kemaren. Di jalanan ketemu Pak FJ yang dari binus dan bilang kalau steaknya tutup. Kami pun memakan ramen

ga layak disebut "makanan pinggir jalan" sih


Selesai makan, balik hotel. Aku habis mandi langsung tidur. Kak FWP juga bisa diajak kompromi dan tidur jam 10.

masih belum di tes juga dari jakarta :(


Contest Day, 17 November 2018

Alarmnya Kak FWP tetep bunyi jam 4 pagi -_-". Saktinya itu HP walau udah di shutdown tetep bunyi jir alarmnya. Itu bukan HP model lama yang bisa dicopot batrenya jadi aku ngarep aja batrenya habis.

Karena ini kontes day, aku sukses bujuk-bujuk Kak FWP untuk matiin alarmnya, dan berhasil. yey. tidur tenang sampe jam 7.

Setelah bangun, siap-siap berangkat, makan onigiri seperti biasa. jalan deh.

(aku gamau makan yang ini, nanti marah-marah)

Sampe di Mahidol, sarapan roti lagi, lalu masuk ruang kontes. Kali ini disiapin pulpen. Yay!

soal: https://www.ict.mahidol.ac.th/acmicpc/2018/downloads/ICPC_2018.rar
==pengerjaan dimulai

Seperti biasa aku baca 4 soal terakhir. Aku baca soal L dan ngira ini prefix biasa namun ternyata engga bisa dan aku baca soal lain. Lalu Kak Norman ngerjain D dan AC.

Lalu ada yang ac soal D. Ternyata propertiku bisa wkwk. Yaudah jadi solusinya binser NMlog(N) pake prefix sum. Sempet ngebug karena dpnya mengeluarkan angka-angka aneh namun dengan bantuan Kak Norman bisa ketemu bugnya dan soal L AC.

Next aku lompat-lompat soal lagi dan akhirnya ketemu soal G. Ini soalnya cuma nyari banyaknya SCC di graph. Namun karena N<=100 bisa pake algo Floyd transitive closure yang cuma 4 baris.
 "Ini yakin n^3 dengan N=200?"
"Iya kan cuma 8 juta operasi"
"kan tcnya ada 100"
"kan pak suhendry 2 milyar 0.1 s"
Submit aja, dan bener aja AC wkwk. Terimakasih Pak Suhendry, saya sekarang jadi lebih nekat :)

Next aku baca soal berikutnya, soal H. Ini intinya dikasih tiga bilangan  saling relatif prima n1, n2, n3< 2^21 dan sebuah bil rahasia x yang x < n1,n2,n3. Apabila diketahu x^3 mod n1, n2 dan n3. Carilah x. Aku idenya CRT, sambil ngoding kertas, Kak Norman dapet solusi yang C dan AC

Soal H aku langsung hajar pake CRT sampe Kak Norman buatin CRT versinya dia. Submit dan dapet WA. Lalu Kak Norman buaitn fungsi pengali yang bisa ngaliin dua bilangan long long yang nantinya di mod. Submit lagi dan  H AC.

Nah ternyata aku beda 2 menit sama yang first solve :(. Dan nyeseknya lagi, ini soalnya ternyata cuma perlu di for doang -_-. ga sadar tcnya cuma 10. Ampas NPC terulang, gabaca constraints.

Aku langsung baca E dan mikir solusi DP. Sementara itu Kak Norman ngoding soal K yang katanya PBDS. Kak Fairuzi daritadi mengerjakan soal F dengan mencari pola. Harapan kami sebentar lagi dapat. Sambilan aku mikir E. Kak Norman submit dan dapat TLE di soal K. Padahal itu jelas N log N. Aku bantu debug, aku kasi tau pruning gaje yang dilakukan, submit, dan masih TLE...

Yaudah aku curiga PDBSnya yang lambat (sudah pengalaman waktu P3) jadi aku ganti PBDSnya jadi BIT binary lifting (n log n juga) dan tetep TLE. Aku bingung, ini BIT udah paling cepet dan TLE. Ternyata ada infinite loop yaitu Kak Norman lupa ngecek kalau queuenya empty atau tidak saat ngepop -_-. Aku ganti dan submit lagi yang BIT, WA!!!. Sial BITku ngebug. Yaudah Kak Norman saranin benerin yang PBDSnya aja (untung aku save as) dan soal K AC!! (dengan penalti 5)

Tim ayas3 sudah jauh diatas kita waktu itu, sepertinya mereka ngamok sehabis dari jakarta. Setelah K AC, aku mulai ngerjain soal I karena menarik. Udah dapat observasi-observasinya namun tidak berhasil solve. Akhirnya balik ke E.

Nah sampai kontes habis aku ngerjain E (kira-kira waktuku sisa 2,5 jam).

Ini soalnya beberapa kali salah baca soal dah. Awalnya ngira yang diminta itu banyaknya segmen minimum, yaudah koding DP dan cek sample kok kelihatannya ada yang salah. Ternyata yang diminta itu panjang segmen maksimum yang dapat dicapai.

Yaudah koding greedy dan WA. Debug-debug terus. Sementara itu Kak Norman dan Kak Fairuzi nyoba kerjain F dan lanjut mencari pola. Tapi ditengah-tengah gitu mereka mulai ganti soal ke J (aku tidak tahu kapan pastinya). Jadi begitulah kegiatan kami sampai 10 menit menjelang kontes berakhir.

Kerja keras Kak Norman dan Kak Fairuzi membuahkan hasil! mereka AC J!! 

Sedangkan aku? ditanya Kak Norman kenapa kodeku gaada counter untuk ngitung berapa kali udah diubah. Baru sadar ternyata maksimum ngubah 2x!!! dafuq 2,5 jam salah baca soal lagi. Dengan waktu sisa 2 menit, gaada waktu untuk ngoding DP sehingga aku coba gambling tc lemah namun sayang gagal.

Tim kami mengakhiri kontes ini dengan AC 7.

=== kontes selesai

Disamperin Pak Denny, dengan bangga kami bilang nambah 1 AC. Jadi imbang sama tim ayas3. kecewa karena tidak bisa memberikan effort maksimalku kali ini. Sekali lagi aku diingatkan untuk telitilah dalam membaca soal.

Selesai kontes ada makan-makan box, lalu penutupan.

menjelang penutupan


Ada tarian bentar, lalu langsung diumumin 5 besar tanpa basa-basi (yey, bisa cepet balik hotel). Yang juara 5 udah ac 9, jadi pasti dari UI gaada yang dapat. Namun ada sebuah kejutan.

tim Ayas3 dapat first solve!! bangga aku sebagai maba fasilkom :")


final scoreboard, rank 11 :) 


selesai acara penutupan kita balik deh ke hotel. Dapat berita baik dari Pak Denny kalau besok dia mau ke phucket dan dia ngasih kamarnya ke aku. Aku bersemangat banget itu di eskalator karena gabakal ketemu alarm jam 4 lagi :)))

Malamnya aku kira bakal makan di pinggir jalan lagi, enak sih, tapi bosen :(. Untungnya malam ini kami ke mall.

margocity bagusan :)

Di mall keliling-keliling dulu nyari oleh-oleh. Sampai lantai 3 ketemu toko boneka. Aku bingung mau beli apaan. Kak Rey beli boneka anjing lucu.

Galang: "lucu, jadi inget anjing saya... yang udah mati"
Rey: (nada ferguso) "Kata-katamu tidak akan menyentuh siapapun, galang"

Aku sendiri bingung mau beli apa, karena aku gapunya siapa-siapa untuk dikasih oleh-oleh. Tapi aku keliling-keliling barangkali nemu barang lucu wkwk.

Setelah keluar dari toko tersebut, ada crane machine. Dapat challenge dari Pak Denny kalau ada yang bisa dapetin charizard bakal dibeli dengan 10x harga mainnya. Kak Rey menerima tantangannya



Puas keliling-keliling, makan deh. Rencana makannya di KFC karena pasti halal, namun karena aku *ahem* anak kos, aku butuh asupan sehat jadi aku dan Kak Rey memisahkan diri ke food court. Di food court aku coba kelilingin namun ketemunya makanan generic semua. Ketemu juga sih akhirnya counter jualan bebek, dan aku beli yang paling mahal, "bebek 3 tipe daging + saos thailand" seharga 85 baht.

bebek 3 rasa

Makanannya enak pol, rasa dagingnya sangat kontras dan aku suka. Porsinya juga sangat banyak untuk harga 85 baht (~38 rb). Kak Rey juga mesen itu. Selesai makan, aku ke counter minuman. Disana ada jus buah segar seharga 15 baht, atau "jus rahasia" seharga 10 baht. Aku pilih "jus rahasia" warna ijo. Kalau Kak Rey lupa dah, kayaknya dia pilih yang warna orange. Tidak butuh waktu lama untuk menyimpulkan minumanku itu Fanta rasa fruit punch.

Selesai makan, kami regrup dengan yang lain untuk ke supermarket. Namun fantaku masi banyak jadi aku habisin dulu diluar dengan waktu yang cukup lama. Di sepermarket aku cuma keliling-keliling doang dan ga beli apa-apa

when u see it

Kak Rey juga gabeli apa-apa deh (sepertinya?). Setelah itu balik hotel. Kita gadapet grab jadi pulang pake taksi mall. Menarik, taksi sini harganya lebih murah dari grab.

Sampe di kamar aku langsung tidur aja, aku tadi gabeli penutup mata karena tanggung tinggal semalam hehe. Alarmnya Kak FWP masih ngeselin tapi sekarang udah mulai biasa.

Excursion Day, 18 November 2018

Di Bali ada ajaran untuk selalu bangun pagi, karena itu disimboliskan sebagai mengambil rejeki. jgn-jgn Selama ini Kak FWP berusaha mengingatkan aku tentang ajaran itu? :O

Setelah makan onigiri seperti biasa, jalan deh ke times24. Kali ini busnya gede dan bertingkat. Aku dapat duduk bareng Kak Rey. Pertama busnya mampir dulu ke Mahidol karena snack peserta ketinggalan WKWKWK. Lanjut deh ke tempat ekskursi.

Perjalanannya cukup lama, dan aku tidur di bus karena aku butuh tidur :/.  Kak Rey juga sepertinya tidur.

Sampailah di tempat tujuan, tempat yang kami tuju itu bernama Phra Pathomchedi. Semacam kuil suci di Thailand. Ada briefing bentar, lalu kita "dilepas" untuk mengeksplorasi tempat ini. Dapat ditraktir es tebu juga. Rasanya enak.

ruang suci...

bagian dalam kuil


Di penghujung acara, kami coba ke daerah toko-toko di luar kuil. Ga ketemu apa-apa. Namun ada sebuah toko gorengan yang menurutku sangat menarik. Dengan 5 bath, kamu bisa dapat sepotong ayam dengan bumbu enak (garlic, balado, atau spicy) jadi aku tertarik beli. Saat itu aku ada uang kecil 20 bath jadi aku beli 4. Kak Rey juga beli. UI yang lain ninggalin kita :(

Aku makan di saat sudah regroup. Dan ternyata enak banget :v. Yang lain pada nyesel ga beli. Saat mau balik ke toko itu untuk beli lagi, sudah disuru balik ke bus :". Aku sendiri sebenernya juga mau balik dan beli satu kresek kalau sempet.

Untuk perjalanan ke tempat kedua ini, aku sudah segar setelah makan ayam spicy jadi tidak tidur. Aku dan Kak Rey jadi diskusikan soal compfest. ati-ati peserta taon depan, wkwk

pemandangan hijau Nakhon Pathom


Jarak ke tempat kedua cukup dekat, tak terasa sudah sampai di woodland. Pertama makan siang dulu, nasi kotak seperti biasa, jadi kangen ICPC Jakarta :((. Selesai makan Pak Denny berpisah dan pergi ke Phuket. Sedangkan kami tim UI mengikuti tournya. Bagus sih udah di kelompokkin jadi tim lokal dan tim asing.

Woodland ini semacam tempat wisata aneka olahan kayu. Kayunya bagus-bagus. Tempatnya juga cukup gede. Beberapa foto.

kereen

berasa rapat aja, wkwk

GWK!!!
"Anybody from Bali?!"
*angkat tangan*
*langsung nyesel*


Tour woodland berakhir. Tim UI nyantai makan es krim sambil ngomongin cara menilai bagian-bagian mobil dengan hanya menyentuh. Lalu dipanggil deh untuk balik hotel.

Sampai hotel aku langsung pindah kamar baruku <3. Tidur sore yang sangat tenang dan bangunnya berangkat ke mall lagi. Aku semobil dengan Kak Rey karena ingin ngerjain TROC. Kita lupa bahwa gaada internet dan hanya buka sampe soal D. Jadi yaudah kerjain itu doang. "hmm, amnu suka array".

Mall yang sama, aku makan di tempat yang sama. Kali ini aku pesan "steak babi korea" yang menurut gambarnya enak banget. Apalagi Orangnya masaknya live dan harganya juga cuma 65 Baht. Ternyata itu steaknya cuma diambil dari freezernya, digoreng di kompor, dibalik, digoreng lagi, ditaro dipiring lalu di serve :v its a trap! pikirku.

Tapi setelah aku makan, ternyata enak pol! Aku sepertinya terlalu sering makan di war*eng steak punya persepsi beda tentang steak. Setelah mengedukasi diriku, ternyata memang steak high-end itu bahkan hanya dibumbui garam doang dan yang dicari adalah kualitas dagingnya.

Kali ini aku udah bawa minum sendiri karena gamau hedon :). Selesai makan reuni dengan tim McD. Kemaren sudah KFC, sekarang makannya McD biar beda :v. Masuk ke supermarket lagi. Namun kali ini aku ada seseorang yang spesial yang ingin kukasih oleh-oleh jadi aku mulai mencari apa yang kira-kira bisa dikasih. Ketemu deh manisan buah mangga, aku pikirnya aku bisa kasih karena sama-sama manis ._. (maaf garing) tapi dosen MPKT ku suka dan jadi topik bahasan di kelas.

Aku juga beli beberapa makanan lain untuk oleh-oleh kelas. Beberapa diantaranya adalah permen meledak dan krupuk thailand. Namun tiba-tiba Kak Firman nemuin KitKat Thai Tea dan memberi petuah bahwa ini adalah kitkat yang langka. Sekejap keranjangku aku kosongin dan aku ganti dengan 5 bungkus kitkat thai tea dan manisan mangga tadi.

Sepertinya Kak Fairuzi beli lebih banyak kitkat deh. Tapi aku cukup puas dengan banyaknya kitkat yang aku beli. Selesai belanja, kami balik ke hotel pakai taksi lagi.

Sampai hotel, aku tidur bentar karena malamnya ada CF. Aku ngerjain sendirian di kamarku.

dosa apa aku sampe bisa dapat asdos kaya gini :(

performa cfku lumayan, soal D geometri jadi aku skip baca E. Namun di akhir-akhir aku sadar ini soalnya mudah jadi aku koding dan AC dengan singkat. Aku ungu lagi :)

Malam ini aku tidur dengan gelap total, dan jam 4 pagi gaada suara-suara ngeselin. yay!

Kepulangan, 19 November 2018

Karena sekarang aku tidur sendiri, aku bangun pagi bebas. Aku bangun jam 7-an gitu untuk nyari sarapan karena tahu di bandara bakal mahal. Aku cek restorannya masih pada tutup jadi beli onigiri lagi. Aku cuma beli 1 dan ini penyesalan.

Balik ke hotel lagi, packing-packing, berangkat deh.

sepertinya dia sudah tahu rencana busukku


Masih ga nemu grab van, jadi pesen 2 grab lagi. Perjalanan ke bandara makan waktu lama. Namun aku ga tidur karena ga ngantuk.

Sampai di bandara,  regrup dulu terus check in. Nah habis itu karena sudah siang jadi pingin makan. Disinilah penyesalanku beli 1 onigiri, karena aku sudah lapar lagi. Liat harga makanan, ada bonchon tapi yg paling murah 200 baht (~100 rb) dan ga include nasi. Karena pasrah akhirnya ke bonchon juga :"(. Padahal rencana mau berhemat karena surplus banyak baht, akhir-akhirnya terbakar juga di bandara.

Selesai makan, regrup lagi, dan menuju check-in.

Saat mau security check, aku menyadari kalau botol minumku masih isi. Jadi aku habisin dulu dan ditinggal kakak-kakaknya yang langsung masuk. Selesai minum, aku diarahkan sama petugasnya untuk ke kiri sedangkan tadi kakak-kakaknya ke kanan. Yaudah aku ngikut aja. Di sini, ngeceknya harus buka sepatu juga hmm.

Jadilah aku ngikutin proses check-in dan imigrasi sendirian :". Sampai di ruang tunggu, aku WA grup nanya udah dimana karena pastinya mereka udah duluan (iya wong aku ditinggal lama) tapi ternyata mereka masih di imigrasi. the power of ke kiri.

Sambil nunggu aku baca manga, lalu Kak Rey datang dan ikut nunggu. boarding deh...

Karena pesawat siang, di pesawat aku memuaskan diri nonton film. Aku nonton batman, dan ga selesai saat pesawat mendarat -_-"

Setelah ambil bagasi dll, aku menumpang dengan Kak Firman untuk kembali ke Depok. Kak Firman dijemput ibunya dan aku ikut bersama dengan Kak Rey dan Kak FWP.  Di mobil karena "topik andalan" gabisa diomongin, maka semua jokesnya aku ga ngerti :(.

Mengingat minggu depan MK (Momen Keakraban, puncak PMB), aku hanya menyandang gelar maba lagi beberapa hari saja. Jadi aku manfaatkan maba-cardku selagi bisa

Q: "Firman memang kalem ya di kelas-kelas?"
A:


diperjalanan aku super mual jadi gabisa main HP. Namun Kak Rey dan Kak FWP biasa saja. Akibat sudah lama di pacil?

Sesampainya di pacil, forum angkatan baru saja selesai dan aku ketemu alghi dkk yang dimana aku masih membawa koper. Yaudah aku langsung saja ke kos karena sudah ngebayangin kasur (walau masih jam 9, aku super ngantuk). Yaudah, ke kos, tidur deh.

Kembali ke kenyataan, 20 November 2018



aku selama di thailand samsek gaada nyentuh perkuliahan. langsung di hajar hari ini dengan matdis dan MPKT B.



Penutup

Aku sangat seneng karena bisa dapat pengalaman ini. Punya tim yang keren, dan juga coachnya yang supportive. Memang engga salah aku milih UI, disini ada komunitas CP yang aktif :)

Dari ICPC ini, aku belajar banyak hal. Yang pertama adalah komunikasi tim di akhir-akhir pengerjaan, dan juga menemukan balance dari "kenekatan" dan "pembuktian". Aku bakal terus latihan dan melanjutkan CP ini dan siapatahu tahun depan bisa WF? :)

Oiya, makasih ya Seagroup dan Shopee yang udah ngesponsorin dan ngedukung tim UI :)) Maafkan apabila aku masih belum terlalu berkontribusi, memperbanyak nonton MV Blackpick :(.



Comments

Popular posts from this blog

Menjadi Maba yang Penuh Ketidaktahuan

UI baru saja selesai UTS tadi, dan UTSnya sangat greget. Postingan sebelumnya sebenernya hanya untuk bilang kalau sekarang aku punya domain, ini postingan yang sebenernya. Jadi kali ini aku bakal buat nyeritain gimana aja sih selama 3 bulan pertamaku kuliah di UI.  Catatan: bukan berarti bakal ada update tiap 3 bulan ya, wkwkwk. Kurang lebih postingan ini jadi karena sangat banyak kegiatan-kegiatan "orientasi" yang aku alami dan sudah terlalu banyak bahan. Aku yakin nanti kegiatan perkuliahannya bakal membosankan dan mungkin saja bakal update 1x pertahun. Kamus: Maba = Mahasiswa Baru. Pacil = Fasilkom. Kutek = Kukusan Teknik (daerah di belakang UI) Kukel = Kukusan Kelurahan (daerah di belakang UI) Detos = Depok Town Square (Nama suatu pusat pembelajaan di Depok) kuis = ulangan PA = Pembimbing akademis (Paling mirip dengan "wali kelas" di SMA) KAMABA Singkatan dari Kegiatan Awal Mahasiswa Baru. KAMABA  dibagi me

Mengikuti ICPC 2019 Bagian 1: Jakarta Regional

Halo, sudah lama tidak berjumpa! Semester ini aku terlalu banyak kegiatan jadi lupa ada blog ini. Jadi, liburan semester ini bakal ada banyak blog-blog yang bakal keluar ^_^. Kali ini, aku bakal nyeritain pengalamanku mengikuti ICPC lagi tahun ini. ICPC,  The International Collegiate Programming Contest  adalah lomba programming yang setiap tahun diadakan. Tentunya aku ikut lagi dong. Apalagi, sudah dibekali ilmu dari matkul TKTPL saat semester 2. Peminat CP di UI lumayan banyak, jadi diadakan seleksi untuk masuk tim intinya. Aku lolos :D. Pembentukan Tim Aku gak perlu mikirin mau ngetim siapa, karena komposisinya sudah ditentukan oleh Pak Denny. Aku dapat tim bareng Kak Norman dan Budi. Aku lumayan seneng dengan timku. Tahun lalu, aku ngetim Kak Norman juga jadi sudah tahu kemampuan masing-masing. Budi, aku sudah sering ketemu saat ngajar di pelatnas 2 dan pelatnas 3 dan skillnya jago, Aku mikirnya dia bakal ngecarry kita, hehe. Oh, kita kebagian regional Kuala Lumpur. Jad

Teknik Rekursi untuk Menjawab Soal di Kertas

OSP kurang dari seminggu lagi dan dengan semakin seringnya muncul soal tipe ini,ingin  mencoba membahasnya. Kata orang kalau kita ngajarin orang lain jadi tambah ngerti maka jadilah post ini :v (untuk alasan lupa dan kurangnya niat mencari soal asli, beberapa soal di post ini mungkin memiliki deskripsi berbeda dengan soal aslinya) Pendahuluan “banyaknya string biner dengan panjang 8 dimana tidak ada 2 angka 1 yang berdampingan adalah?” saat membaca  soal ini, mungkin kita akan nyoba pake inklusi ekslusi yaitu banyaknya semua kemungkinan – banyaknya kemungkinan 2 angka 1 dempet + banyaknya kemungkinan 3 angka 1 dempet -… tapi, kasus banyak bakal mabok. Trus nyoba kuli aja, kelamaan. Jadi disini solusi yang tepat adalah menggunakan rekursi. Misal F(n) banyaknya string yang memenuhi syarat tersebut dengan panjang n.  Misalkan juga kita punya F(n) dan F(n-1), maka kita bisa mendapat F(n+1) sebagai berikut: F(n) tidak mungkin memiliki 2 angka 1 yang berdampingan. Maka, jika didepa