Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
Nama Soal Nama Berkas Tipe
Pembagian Ring Road Ringroad[1..10].out [output only]
Paket Soal Latihan 12 Maret 2009
Batas Waktu Batas Memori Sumber
1 detik 32 MB Brian Marshal
Deskripsi Soal Dalam rangka mensukseskan program “Visit Indonesia”, Jogja sebagai salah satu kota pariwisata berusaha untuk memperbaiki segala hal, termasuk jalan Ring Road! Terdapat N (1≤N≤50) bagian jalan Ring Road, masing-masing memiliki panjang Li (1≤Li≤10000). Untuk memperbaiki kesuluruhan jalan Ring Road, pemerintah menyadari bahwa bekerja sama hanya dengan satu kontraktor (bahkan kontraktor terhebat sekalipun) belum tentu optimal. Oleh karena itu pemerintah kini akan bekerja sama dengan maksimal M (1≤M≤15) kontraktor. Masing-masing kontraktor memiliki kecepatan kerja Si (1≤Si≤10000). Kontraktor ke-i dapat menyelesaikan proses perbaikan jalan ke-j dengan durasi Si/Li bulan. Karena jumlah kontraktor yang lebih sedikit dari jumlah bagian jalan, maka satu kontraktor mungkin mendapatkan lebih dari 1 bagian jalan. Tapi untuk kemudahan dan efisiensi, suatu kontraktor hanya dapat memperbaiki lebih dari 1 bagian jalan jika bagian jalan tersebut berderetan (dapat dilihat sebagai satu kesatuan yang tak putus). Tidak semua kontraktor harus mendapatkan bagian dari proyek ini. Kini pemerintah meminta bantuan Anda untuk membagi proyek ini agar masa pengerjaannya seminimal mungkin. Sebagai catatan, semua kontraktor yang telah ditugaskan akan memulai pekerjaan mereka secara serentak. Spesifikasi Masukan Baris pertama berisi sebuah bilangan bulat N. Baris kedua berisi N buah bilangan bulat yang merupakan panjang dari tiap bagian jalan Ring Road dimulai dari bagian 1 sampai bagian N. Baris ketiga berisi sebuah bilangan bulat M. Baris keempat berisi M buah bilangan bulat yang merupakan kecepatan tiap kontraktor dimulai dari kontraktor 1 sampai kontraktor M. Spesifikasi Keluaran Daftar pembagian proyek, berisi maksimal M baris. Pada setiap baris terdapat tiga buah bilangan bulat Pi, Ai, Bi dimana Pi adalah nomor kontraktor, Ai adalah nomor bagian jalan awal dan Bi adalah nomor bagian jalan akhir yang ditugaskan pada kontraktor Pi. Keluaran harus terurut dari bagian jalan (Ai) yang bernomor kecil, tapi untuk nomor kontraktor Pi tidak diharuskan terurut. Semua bagian jalan harus terselesaikan! Contoh Masukan 1 Contoh Keluaran 1 7 2 1 3 1 2 1 4 2 1 1 3 4 5 3 1 6 7 1 2 3 (Tugaskan kontraktor nomor dua untuk mengerjakan bagian jalan ke-1 sampai ke-3, lalu bagian jalan ke-4 sampai ke-5 untuk kontraktor nomor tiga, dan bagian jalan ke-6 sampai ke-7 untuk kontraktor nomor satu. Penugasan ini membutuhkan tepat 2 bulan untuk menyelesaikan seluruh bagian jalan. Untuk kasus ini, tidak ada jalan lain untuk menyelesaikan seluruh bagian jalan dengan waktu kurang dari 2 bulan.) Contoh Masukan 2
2 2 2
Halaman 1 dari 6
Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
2 2 3
Paket Soal Latihan 12 Maret 2009
2 1 1 1 2 2
Contoh Keluaran 2 (Masing-masing kontraktor mendapatkan satu bagian jalan dan seluruh pekerjaan akan selesai dalam 1 bulan.) Penilaian Soal ini menggunakan sistem output only dan relative scoring. Jadi, keluaran yang memberikan waktu tersingkat akan mendapatkan poin 100 untuk kasus tersebut, sedangkan keluaran lainnya yang tidak memberikan waktu tersingkat akan mendapatkan nilai relatif terhadap waktu tersingkat tersebut.
Halaman 2 dari 6
Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
Nama Soal Nama Berkas Tipe
Cars Parking car.cpp /.c /.pas [batch]
Paket Soal Latihan 12 Maret 2009
Batas Waktu Batas Memori Sumber
1 detik 32 MB IOI
Task Description A parking center by the Great Wall has a long row of parking places. One end of the row is considered left and the other end is considered right. The row is full of cars. Each car has a type and several cars may be of the same type. The types are identified by integer values. A number of workers decide to order the cars parked in the row in ascending order from left to right by the car types using the following method. In what is called a round, each of the workers can simultaneously drive one car out of its place and then park it in a place from where a car has been moved out in the same round. It may be that some workers are not moving a car in a round. For efficiency, a small number of rounds is preferable. Suppose that N is the number of cars and W is the number of workers. You are to write a program which, given the types of the parked cars and the number of workers, finds such a way to sort the cars that the number of rounds needed is at most N/(W-1), that is N/(W-1) rounded up. The minimal number of rounds is never greater than N/(W-1). Consider the following example. There are 10 parked cars of types 1,2,3, and 4 with 4 workers. The initial placement of the cars from left to right identified by their types is 2 3 3 4 4 2 1 1 3 1. The minimal number of rounds is three, and the rounds can be implemented so that the placement after each round is as follows: 2 1 1 4 4 2 3 3 3 1 – after round 1, 2 1 1 2 4 3 3 3 4 1 – after round 2, and 1 1 1 2 2 3 3 3 4 4 – after round 3. INPUT The first line in the input file contains three integers. The first integer is the number of cars N, 2<=N<=20000. The second integer is the number of types M, 2<=M<=50. The car types are identified by the integers from 1 to M. There is at least one car of each type. The third integer is the number of workers W, 2<=W<=M. The second line contains N integers, where the ith integer is the type of the ith car in the row, starting from the left end of the row. OUTPUT The first line of the output file contains one integer R, which is the number of rounds in the solution. The next R lines describe the rounds ordered from 1 to R. In each line, the first integer is the number of cars C, which are moved in that round. After that follow 2C integers, identifying car positions. The car positions are identified by the integers from 1 to N starting at the left end. The first two are a pair describing how one of the cars is moved: the first integer is the position from the left end before the round and the second is the position from the left after the round. The next two integers are a pair describing how another car is moved, and so on. There may be several different solutions for these R lines, and your program only needs to output one of them. EXAMPLE INPUT AND OUTPUT INPUT 10 4 4 2334421131
Halaman 3 dari 6
Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
Paket Soal Latihan 12 Maret 2009
OUTPUT 3 427387283 3499664 3 1 5 5 10 10 1 PARTIAL CREDIT Suppose that your program’s output for an evaluation run is R and n/(w-1) is Q. If in your program’s output the R rounds are not described correctly or they do not produce the desired order for the cars, then your score is 0. Otherwise, your score will be calculated from the maximum score as follows. R<=Q 100% Score R=Q+1 50% Score R=Q+2 20% Score R>=Q+3 0% Score
Halaman 4 dari 6
Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
Nama Soal Nama Berkas Tipe
At Yogya's End aye.cpp /.c /.pas [batch]
Paket Soal Latihan 12 Maret 2009
Batas Waktu Batas Memori Sumber
1 detik 32 MB Listiargo
Pak Blangkon (baca = P@ck 131@n6k0n) telah kembali ke Planet Yogya(baca = Y06y@). Sekarang ia sedang mengamati kumpulan gedung di Malioboro ( baca = m@L10130r0) sehingga ia bisa melihat bayangan-bayangan dari gedung-gedung itu. Pak Blangkon mencatat N(5 <= N <= 1000000) posisi sudut kiri dari bayangan yang mungkin adalah sebuah gedung dalam format (X, Y)(0 <= X, Y <= 1000000000). Pak Blangkon sadar bahwa mungkin bisa ada tak hingga gedung bila ia mengamatinya melalui data yang ia miliki. Lalu Pak Blangkon menyuruh anda para TOKI-ers(Tim Operasional Kekomputeran Intergalaktik-ers) untuk menentukan gedung minimum yang memenuhi data yang diberikan Pak Blangkon. Input Baris pertama terdiri dari 1 angka, N N baris selanjutnya terdapat masing masing 2 bilangan X, Y. Nilai X dijamin akan unik. Output Sebuah bilangan yang menentukan jumlah minimum gedung yang mungkin dari data yang diberikan Pak Blangkon. Contoh Input 1 6 32 00 15 84 10 0 92 Contoh Output 1 3 Penjelasan Input : Ada 7 posisi unik, bentuk yang kira-kira dilihat Pak Blangkon adalah seperti ini(Yang ditandai X berarti posisi dibawahnya di catat oleh Pak Blangkon)
Halaman 5 dari 6
Pelatnas 2 TOKI 2009 Ilmu Komputer, Universitas Gadjah Mada
Paket Soal Latihan 12 Maret 2009
6X 555X 4554 355X4X 2552222242 1X552222242X 0 1 2 3 4 5 6 7 8 9 10 Dapat disimpulkan bahwa terdapat paling sedikit 3 gedung (gedung dengan tinggi 5, tinggi 2 dan tinggi 4)
Halaman 6 dari 6