“Pertempuran Langsung”: Final ICPC di Porto

Hari ini Final kompetisi pemrograman internasional ICPC 2019 akan diadakan di kota Porto, Portugal, dengan perwakilan Universitas ITMO dan tim lain dari universitas di Rusia, Cina, India, Amerika Serikat, dan negara lain akan ambil bagian di dalamnya. Mari kita ceritakan lebih detail.

“Pertempuran Langsung”: Final ICPC di Porto
berita icpc /flickr/ CC BY / Foto dari final ICPC-2016 di Phuket

Apa itu ICPC

ICPC adalah kompetisi pemrograman internasional antar pelajar. Mereka telah diadakan selama lebih dari 40 tahun - final pertama berlalu kembali pada tahun 1977. Seleksinya dilakukan dalam beberapa tahap. Universitas dibagi berdasarkan wilayah (Eropa, Asia, Afrika, Amerika, dll). Masing-masing menjadi tuan rumah babak peralihan, khususnya semifinal Eurasia Utara terjadi di universitas kami. Pemenang tahap regional akan mengikuti babak final.

Di ICPC, tim yang terdiri dari tiga peserta diminta menyelesaikan sejumlah masalah dengan menggunakan satu komputer (tidak terhubung ke Internet). Jadi, selain keterampilan pemrograman, keterampilan kerja sama tim juga diuji.

Tim Universitas ITMO telah memenangkan hadiah utama ICPC sebanyak tujuh kali. Ini adalah rekor mutlak yang telah bertahan selama bertahun-tahun. Mereka akan bentrok dalam pertarungan memperebutkan Piala ICPC 2019 135 kelompok dari seluruh dunia. Universitas ITMO diwakili tahun ini oleh Ilya Poduremennykh, Stanislav Naumov и Roman Korobkov.

Bagaimana finalnya akan berlangsung?

Selama kompetisi, tim akan menerima satu komputer untuk tiga orang. Ini menjalankan Ubuntu 18.04 dan memiliki vi/vim, gvim, emacs, gedit, geany dan kate yang sudah diinstal sebelumnya. Anda dapat menulis program dengan Python, Kotlin, Java atau C++.

Ketika sebuah tim memecahkan suatu masalah, ia meneruskannya ke server pengujian, yang mengevaluasi kodenya. Peserta tidak mengetahui pengujian apa yang dilakukan mesin tersebut. Jika semuanya berhasil, tim menerima poin bonus. Jika tidak, kesalahan akan dihasilkan dan siswa dikirim untuk memperbaiki kode.

Berdasarkan aturan ICPC, tim yang memecahkan masalah terbanyak adalah pemenangnya. Jika ada beberapa tim seperti itu, maka pemenangnya ditentukan oleh waktu penalti terkecil. Peserta menerima menit penalti untuk setiap masalah yang diselesaikan. Jumlah menit sama dengan waktu dari dimulainya kompetisi hingga penerimaan tugas oleh server penguji. Jika tim menemukan solusi, maka tim tersebut menerima penalti dua puluh menit lagi untuk setiap upaya yang salah untuk meneruskannya.

“Pertempuran Langsung”: Final ICPC di Porto
berita icpc /flickr/ CC BY / Foto dari final ICPC-2016 di Phuket

Contoh tugas

Tujuan kejuaraan memerlukan koordinasi dan konsentrasi tim. Selain itu, mereka menguji pengetahuan tentang algoritma matematika individu. Berikut contoh tugas yang ditawarkan kepada peserta ICPC 2018:

Dalam tipografi, ada istilah “sungai” yang merupakan rangkaian spasi antar kata, yang terbentuk dari beberapa baris teks. Seorang ahli sungai (sebenarnya) ingin menerbitkan buku. Dia ingin sungai tipografi terpanjang “terbentuk” pada halaman saat mencetak dalam font monospace. Peserta harus menentukan lebar lahan dimana kondisi ini akan dipenuhi.

Pada masukannya, program menerima bilangan bulat n (2 ≤ n ≤ 2), yang menentukan jumlah kata dalam teks. Selanjutnya teks dimasukkan: kata dalam satu baris dipisahkan oleh satu spasi dan tidak boleh lebih dari 500 karakter.

Pada keluarannya, program harus menunjukkan lebar lahan di mana “sungai” terpanjang terbentuk, dan panjang sungai tersebut.

Daftar lengkap kembali sejak tahun lalu dan juga solusi untuk mereka dengan penjelasan dapat ditemukan di situs web ICPC. Ibid. ada arsip dengan tes, di mana program para peserta “dipaparkan”.

Jadi sore ini di situs kejuaraan dan Saluran Youtube Akan ada siaran langsung dari lokasi kejadian. Tersedia sekarang rekaman sebelum pertunjukan.

Apa lagi yang kami miliki di blog di Habré:

Sumber: www.habr.com

Tambah komentar