My first Magazine pemrograman-kompetitif-dasar | Page 12
1 Perkenalan Pemrograman Kompetitif
2. Diselesaikan dengan menulis program komputer. Program komputer yang dimaksud
adalah program sederhana yang berjalan pada command line, tanpa perlu adanya user
interface seperti halaman website atau GUI (Graphic User Interface ). Program hanya
perlu membaca masukan dan menghasilkan keluaran.
3. Memenuhi batasan yang diberikan. Umumnya batasan ini berupa batas waktu dan memori.
Program yang ditulis harus mampu bekerja mulai dari membaca masukan sampai dengan
mencetak keluaran tidak lebih dari batas waktu dan memori yang diberikan.
Kita akan memahami lebih dalam tentang pemrograman kompetitif melalui contoh soal, yang
akan dijelaskan pada bagian berikutnya.
1.3
Contoh Soal Pemrograman Kompetitif
Mari perhatikan contoh soal berikut.
Contoh Soal 1.1: Lampu dan Tombol
Batas waktu: 1 detik
Batas memori: 64 MB
Terdapat N tombol yang dinomori dari 1 hingga N dan sebuah lampu dalam keadaan mati.
Apabila tombol ke-i ditekan, keadaan lampu akan berubah (dari mati menjadi menyala, atau
sebaliknya) apabila N habis dibagi oleh i. Apabila masing-masing tombol ditekan tepat
sekali, bagaimana keadaan lampu pada akhirnya?
Format Masukan
Sebuah baris berisi sebuah bilangan, yaitu N.
Format Keluaran
Sebuah baris berisi:
• "lampu mati", apabila keadaan akhir lampu adalah mati.
• "lampu menyala", apabila keadaan akhir lampu adalah menyala.
Contoh Masukan 1
5
Contoh Keluaran 1
lampu mati
Contoh Masukan 2
4
Contoh Keluaran 2
lampu menyala
Penjelasan
Pada contoh pertama, tombol yang mempengaruhi keadaan lampu adalah tombol 1 dan
tombol 5. Penekanan tombol 1 mengakibatkan lampu menjadi menyala, dan penekanan
tombol 5 mengembalikannya ke keadaan mati.
2