Sunday, November 25, 2012

ACM ICPC Kaohsiung-Taiwan 2012 : Day 2

 Day 2 : 23 November 2012
Well hari itu gw bangun pagi karena di telpon Kak Muhsin dan magicnya, gw gak ngantuk lagi :)) kayaknya dia pakai sesuatu deh >.<. Selesainya mandi dan siap siap, pakaii baju ACM ICPC Taiwan, kami berangkat menuju Universitas Sun Yat Sen. Setelah diberi pengarahan dan menitipkan barang, kita langsung menuju ruang kontes.

Posisi sementara, gw dan Welly baca soal dan Alvin bangku panas (Baca : Kursi Coding). Waktu kontesnya mulai parah banget, tanpa ada apa apa, tiba tiba ada orang pake mic bilang "Oke contest start" ~_~. Gw gak tau dia ngomong apa karena suaranya gema, tapi karena yang lain udah buka soal, berarti gw asumsikan dia bilang kontes mulai. Gw langsng minta amplop soal, pas gw mau buka susahnya bukan main jadi langsung gw robek (Hampir kerobek problemnya). Gw baca problem A, B, C sisanya gw kasih mereka berdua.

Soal A : Diberikan sebuah angka N, hitung berapa jumlah angka 1 jika N diubah menjadi bilangan biner {0, 1}. dan hitung berapa minimum angka 1 jika N diubah menjadi bilangan basis signed biner {-1, 0, 1}. Dan bilangan N bisa samai 120 Digit.
Soal B : Diberikan puzzle 3 * 3 kayak mainan anak kecil, 1 - 8 dan 1 kosong. Dikasih state awal dan akhir, Hitung langkah minimum agar state awal = state akhir.
Soal C : Diberikan jalur travel di tiap node mempunyai region. Kalau regionnya sama, gak usah bayar, kalau regionnya beda harus bayar. Dicari berapa biaya minium jika kita mau dari node X ke node Y dan kita adalah orang dari region Z.
Soal D : Diberikan sebuah deretan bilangan. Berapa biaya minimum agar A1 <= A2 <= A3 <= ... <= An dan maksimal bilangannya adalah X dan selisih Ai dengan A i-1 adalah Y.
Soal E : Gak Baca
Soal F : Gak Baca
Soal G : Diberikan 3 perusahaan dengan masing masing mempunyai N buah keompok pekerja. Cari perusahaan yang kalau kita bikin kelompok pekerjanya jadi 2 bagian, memiliki selisih paling dikit.
Soal H : Diberikan pola bentuk garis pada koordinat dimana setiap N, region koordinat menjadi 2^N * 2^N. Kita disuruh mencari koordinat berapa titik nomer X dan mana yang merupakan titik terjauh dari tetangganya (atas, bawah, kiri, kanan).
Soal I : Kalau gw gak salah ngerti soal. Diberikan graph beserta node dan edgenya, kita mau mark N buah node dengan syarat, kalau node A sudah di mark, maka node yang bersebelahan langsung dari A tidak boleh di mark. Hitung berapa maksimal node yang bisa kita mark.
Soal J : Ada N buah orang dan N buah orang ini membentuk suatu complete graph. Kita tau mana yang teman dan mana yang musuh. Jika ada 2 yang musuhan maka dia jadi teman (Teman = +, Musuh = -. - sama - = +). Hitung berapa group maksimal yang bisa dibentuk jika groupnya balance (kalo gak salah yang -'nya genap dan +nya boleh berapapun).

Soal yang pertama kami AC itu soal B, gw yang ngoding dan pas di sample I/O 2 salah, gw sama ko Welly debug dan akhirnya AC, abis itu ternyata Pandawa AC juga. (Balon balon :D). Abis itu alvin katanya nemu yang H, dia jelasin ke ko Welly dan gw cari soal yang bisa solvable. Gw bilang ke ko Welly G bisa di DP, tapi memorynya terlalu besar untuk top-down. Akhirnya kita pake Map dan ternyata TLE, Ko Welly coding DP Bottom-up akhirnya AC setelah kita debug. Alvin yang masih mikirin H gw bantu ternyata dia udah bisa ubah dari nomor titik ke koordinatnya, gw bantu debug dan akhirnya ko Welly turun tangan juga. Akhirnya AC setelah sadar ternyata Alvin salah rumus.

Ko Welly coding soal C dan gw sama Alvin corat coret soal D. Setelah kita dapat, langsung ngusir ko Welly buat kita coding =)). Setelah gw coding, loh kok untuk semua testcase, jawaban kita lebih minimu ? (Kita menemukan jawaban lebih optimal dibanding juri =))). Ternyata ada yang Bug parah di fungsi Absolutnya. Setelah di debug, bener untuk semua sample, pas kita kirim TLE -_- Gawat. Akhirnya kita print dan kita debug sedangkan Welly lanjut coding C. Ko Welly bilang udah dan katanya mungkin TLE, akhirnya kirim aja dan bener TLE juga. Pas gw sama Alvin optimize code D kita kirim ternyata tetep TLE, kita gak tau lagi akhirnya kita bantu ko Welly. Pas memonya diubah menjadi int array (Sebelumya map) ternyata jadi WA. Kita mikirnya ada harapan AC karena udah gak TLE. Ternyata kita tau Bugnya waktu pencetakan jawaban dimana harus minimum dan jika ada yang sama harus leksikograf. Pas dibenerin Priority_queuenya, ternyata masih WA. Sampai akhir kita tetap Solve 3 sedangkan Pandawa nambah 2 waktu Freeze. Kata mereka, mereka solve H <= 10 detik sebelum kontest berakhir :)), wah GG :).

Selesai kontest kita jalan jalan ke pantai + poto poto (FYI : Di univnya, belakangnya itu pantai WoW). Setelah bosan kita kembali ke Gym untuk pengumuman lomba. Awalnya adalah pengumuman NCPC (National Collegiate Programming Contest) Membosankan sekali karena banyak bener team lokal yang dapat penghargaan -_-. Abis itu baru pengumuman ICPC. dan WHAT soal A adalah soal termudah dan G sama H itu sekitar medium karena ketauan dari banyaknya team yang AC. "-" kenapa kita gak Solve yang A. Pas udah selesai kontest gw tanya teddy caranya dan masih gak ngerti =)). Dan ternyata Pandawa rank 7 mungkin berdasarkan Univ Congratz for them :). Kita terdepak gak tau rank berapa :(.

Setelah dianalisis, ternyata yang C itu Djikstra dan kita udah mungkin 89% udah kayak Djikstra tapi masih WA. dan yang D itu linear searchnya diganti Binary Search sisanya sama kayak DP kita -_- Close Enough :(. Harusnya kita bisa dan yah emang harus banyak latihan lagi :). Malamnya pas di hotel gw ko Welly sama Alvin ngomongin yang A dan ternyata harusnya bisa. . Aduhhhhhh dan yang I gw udah kasih tau problemnya ke ko Welly katanya dia bisa tapi gak kesentuh sampai akhir kontest. Aduhhhhhhh dan pas Alvin baca soalnya katanya dia bisa. Aduhhhhhhh. Moral of the story : "Baca soal seberapapun dikitnya soal itu di solve". Dan yah akhirnya kita ngeDotA map lucu sampai pagi =)).

ACM ICPC Kaohsiung-Taiwan 2012 : Days 0 & 1

Friday, November 23, 2012

ACM ICPC Kaohsiung-Taiwan 2012 : Days 0 & 1

Days 0 : 22 November 2012
Gw berangkat dari rumah sekitar jam 3 pagi lewat rawan rawan takut macet (Maklum tangerang macetnya gak nahan). Langsung tancap ke bandara dan ternyata kosong semua jalanan -_-. Pas udah sampai sana, ternyata kosong (Kita janjian paling telat jam 4.30). Agak berapa lama, ternyata ada Alvin Setiadi dan dia bilang ketemu Reinhart lagi makan. Sambil nunggu yang lain, kita duduk duduk aja. Jam 5 kurang, pasukan dari Binus datang dan kita langsung masuk ke untuk registrasi ulang pesawat.

Singkatnya kita masuk pesawat sekitar + - jam 6 pagi. Surprise, di pesawat semuanya mandarin (Mandarin, Mandarin Everywhere). Kayaknya yang paling agak sedikit mengerti dari kita semua cuma Daniel Agusta. (Gw liat foto di visanya, kayak kakak ke-tiga mafia hongkong). Di pesawat gak banyak yang dilakukan. Gw cuman nonton film yang disediakan. Total selama penerbangan, gw nonton 2 film. Ted sama Step Up Revolution (2 film yang gw gak tonton di bioskop, lumayan gratis :D ).

Beberapa jam, kita sampai di Hongkong untuk transit (Gak ada pesawat yang langsung ke taiwan). Disana kita berpikiran untuk makan dulu. Bandara gede banget, sampai-sampai orang males jalan kaki pake sewa mobil di dalam bandara O_o. Kami langsung menukarkan mata uang sedikit karena kita disitu hanya untuk numpang makan :)). Setelah menukar, kita pesan makan ternyata kak Muhsin pesan Popeye dan Reinhart pesan McD. Gw, Teddy sama Alvin pesan Popeye, dan ko Welly pesan McD. Mahal abis -_- mending di Indonesia deh :P.

Selesai makan, kita ke ruang tunggu sambil tiduran eh ketiduran beneran. Maklum belum tidur karena malemnya ada Codeforces :)). Akhirnya jam terbang ke Taiwan tiba. Sekitar terbang 1 jam, kita sampai Taiwan dan langsung dijemput dari panitia ACM ICPCnya. Sesampainya di hotel kita bingung. "GIMANA TEAM NOTEBOOK ?" yah team gw (Arjuna) belum print team notebook, dan kita bingung gimana ngomong buat ngeprint -_-. Akhirnya kami tinggal dan kita pergi makan dulu. Kita makan di tempat restoran seafood. Anehnya disini sedikit banget yang bisa bahasa inggris -_-. Akhirnya waktu kita pesan, banyak selingan bahasa isyarat =)). Setelah makan kita ke hotel dan gw, ko Welly, dan Alvin Setiadi mempersiapkan team notebook. Ditengah tengah gw susun TN, ada skype dari Yunito dan pasukkan kalkulus (Kalian harus membantu saya untuk meningkatkan kalkulus saya di UAS). Setelah selesai sekitar jam 2, akhirnya kami tidur :).

Days 1 : 23 November 2012
Gw bangun jam 11 siang =)) karena malemnya mempersiapkan team notebook. Alvin dan Welly yang lagi ngomongin algo, ternyata kedengaran oleh gw yang lagi tidur, alhasil kebawa mimpi X(. Setelah mandi dan finalizing TN, kita langsung pergi ke Universitas Sun Yat Sen untuk regestrasi ulang dan upacara pembuka. Di bis, kita team paling berisik dan itu adalah kebanggaan untuk team Binus. Sampai disana kita regestrasi ulang dan mengambil nomor peserta. Arjuna mendapat nomor 20 dan Pandawa mendapat nomor 28. Upacara pembuka dibuka oleh MC cewek, lalu sambutan dari orang orang penting, salah satunya Prof Cj Hwang. Sebelum pembukaan, gw minta panitia supaya dibolehin numpang print dan ini emergency, akhirnya gw dibawa sama salah satu dosen sana untuk ke kantornya buat ngeprint dan Gratis =)). Disitu gw liat printer yang udah "Ngelepeh" kertasnya, bisa "Ngisep" balik kertasnya dan jadi bolak balik ~_~.

Setelah itu kita diadakan practice session, Kita kira meja antar team Binus jauh, ternyata sebrangan serong :)). FYI : Kita ngoding di Gym olahraga yang disulap menjadi ruangan penuh komputer #_#. Setelah semuanya siap, Practice session diadakan. ada 2 soal, soal pertama adalah soal 3N+1 yang ada di UVA. lalu soal ke 2 soal DP yang ternyata kita salah mikir dari awal dan baru sadar terakhir -_-. Kita lupa cek TLE dan cek verdict yang lainnya. Print dan server semua berjalan normal. Untuk input output, kita disuruh membaca dari File input dan menuliskan ke standart output.

Selesai dari practice session, kita dibawa jalan jalan dengan kapal :)) (Pertama kalinya naik kapal). Pemandangannya ? Yah kalau bukan air laut yah kapal. Tapi kapalnya gede gede dan ada yang kayak kapal tempur punya militer sana. Yah setelah jalan jalan kita balik ke hotel dan disuguhkan Grand Dinner yang mantep abis. Yah karena sponsornya banyak kali yah makanya bisa megah sekali. :)). Setelah kenyang, kita kembali ke kamar masing masing dan menjauhkan diri dari Coding / soal / apalah itu jenisnya. Semoga kita semua melakukan yang terbaik untuk besok :).

ACM ICPC Kaohsiung-Taiwan 2012 : Day 2