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