Anda di halaman 1dari 19

A.

Basis K
Time Limit : 1 detik Suatu angka bisa diubah ke dalam bentuk basis lain, contohnya ke dalam basis 2 (biner), 8 (oktal), 16 (heksadesimal). Suatu saat Pak Saba ingin mengubah suatu angka ke dalam basis lain (basis 2, 8, atau 16). Karena Pak Saba ingin mendapatkan hasil perubahan basis tersebut dengan cepat, maka dia meminta bantuan Anda untuk membuat program yang mengubah suatu angka seperti yang diinginkan oleh Pak Saba.

Input
Input diawali dengan 1 bilangan integer N ( ) yang menunjukan jumlah test case. Setiap test case terdiri 2 bilangan integer (dalam satu baris) K B dengan K menunjukan basis angka tujuan (2, 8, atau 16), dan B ( ) menunjukkan angka desimal yang akan diubah ke basis K.

Output
Untuk setiap test case, tampilkan Case i: (tanpa tanda kutip) dengan i adalah urutan test case, lalu diikuti di bawahnya (tepat satu baris) bilangan basis K dari angka desimal B. Jika K adalah 16 (basis heksadesimal), tampilkan dengan huruf besar jika terdapat suatu huruf.

Contoh Input
3 2 25 8 25 16 200

Contoh Output
Case 1: 11001 Case 2: 31 Case 3: C8

B. Bilangan Prima
Time Limit : 1 detik TungTung adalah seorang siswa SD. Suatu hari dia mendapat tugas dari gurunya untuk mencari seluruh bilangan prima yang ada pada suatu rentang bilangan integer. Bantulah ia untuk mencari bilangan prima yang diminta.

Input
Input diawali dengan satu bilangan integer yang menunjukkan jumlah test case. Setiap test case (pada tepat satu baris) terdiri dari dua bilangan integer M N dengan M adalah batas awal dan N adalah batas akhir dari rentang yang akan dicari bilangan prima .

Output
Untuk setiap test case, tampilkan semua bilangan prima yang terdapat dari M sampai dengan N pada tepat satu baris. Antarbilangan prima dipisahkan dengan spasi dan baris tersebut tidak boleh diakhiri dengan spasi. Jika tidak ada bilangan prima di antara rentang yang diminta, tampilkan pesan Tidak ada bilangan prima. (tanpa tanda kutip).

Contoh Input
2 3 9 8 10

Contoh Output
3 5 7 Tidak ada bilangan prima.

C. Loker
Time Limit : 1 detik

Di Sekolah Kuncup Mekar terdapat loker untuk masing-masing siswa yang berfungsi untuk menaruh barang bawaan. Kunci loker memiliki 10 angka, yaitu 0 sampai 9, seperti terlihat pada gambar. Sebuah kombinasi angka terdiri dari 3 angka, contohnya 8-3-6. Untuk membuka lokernya, ikuti langkah berikut: Putar ke angka pertama dari kombinasi searah jarum jam. Putar berlawanan jarum jam 1 putaran penuh. Putar ke angka kedua dari kombinasi dengan berlawanan jarum jam. Putar searah jarum jam 2 putaran penuh. Putar ke angka ketga dari kombinasi searah dengan jarum jam. Tekan tombol hijau dan pintu loker terbuka. Dengan asumsi posisi awal dari jarum kunci loker selalu menunjukkan angka 0, berapa total besar sudut (searah jarum jam + berlawanan jarum jam) untuk membuka loker?

Input
Input diawali dengan bilangan integer yang menunjukkan banyaknya test case. Masing-masing test case memiliki 3 bilangan integer A B C yang menunjukkan kombinasi angka loker, dengan .

Output
Untuk setiap test case, tampilkan Case i: D (tanpa tanda kutip, dalam satu baris) dengan i adalah nomor test case dan D adalah total besar sudut yang diperlukan untuk membuka loker.

Contoh input
4 6 3 1 9 1 5 6 5 7

0 4 7

Contoh output
1692 1836 1404 1404

D. Menumpuk Angka
Time Limit : 1 detik Suatu hari Pak Saba memutuskan untuk menulis suatu angka di kertas yang dimilikinya, lalu mengguntingnya sehingga menjadi 2 bagian, tetapi angka pada kertas kedua dibalik. Setelah menggunting, Pak Saba menempel kedua potongan kertas tersebut dan menjumlahkan kedua angka tersebut. Pak Saba kemudian mengecek apakah angka hasil penjumlahan tersebut palindrom (angka yang dibaca dari kiri sama dengan dibaca dari kanan) atau tidak. Jika angka tersebut adalah palindrom, maka Pak Saba merasa puas. Jika angka tersebut bukan palindrom, maka Pak Saba menggunting lagi kertas tersebut (setelah ditambahkan angkanya) menjadi dua, membalik angka pada kertas kedua, lalu melakukan hal seperti sebelumnya sampai Pak Saba merasa puas. Karena proses itu memakan waktu, Pak Saba meminta bantuan Anda untuk memberitahukannya angka yang setelah dijumlahkan adalah angka palindrom sehingga Pak Saba merasa puas.

Input
Input diawali dengan 1 bilangan integer N ( Setiap test case terdiri dari 1 bilangan integer P ( yang dimiliki Pak Saba pertama kali. ) yang menunjukkan jumlah test case. ) yang menunjukkan jumlah angka

Output
Untuk setiap test case, tampilkan Case i: (tanpa tanda kutip) dengan i adalah urutan test case, lalu diikuti di bawahnya (tepat satu baris) angka AA dengan AA adalah angka palindrom yang membuat Pak Saba merasa puas. Jika P tidak mungkin menjadi angka palindrom, tampilkan Tidak Mungkin (tanpa tanda kutip).

Contoh Input
2 1235 200

Contoh Output
Case 1: 11 Case 2: Tidak Mungkin

Penjelasan Contoh Input


Untuk kasus pertama, Pak Saba menulis angka 1235. Angka ini dibagi menjadi dua bagian, yaitu 12 dan 53. Jika ditambahkan, hasilnya adalah 65. Karena 65 bukan palindrom, maka dibagi menjadi dua bagian lagi, yaitu 6 dan 5. Jika ditambahkan, hasilnya adalah 11. Karena 11 merupakan angka palindrom, maka Pak Saba merasa puas. Untuk kasus kedua, angka 200 tidak dapat dibagi menjadi dua bagian karena jumlah digit angkanya ganjil.

E. Palindrom Aneh
Time Limit : 1 detik Suatu kalimat dikatakan palindrom jika kalimat tersebut dibaca dari depan dan dari belakang berbunyi sama. Suatu hari Pak Saba mengambil sebuah kertas yang berisi N baris kalimat dan ingin menentukan apakah kalimat di setiap baris merupakan kalimat yang palindrom. Tetapi pengetahuan Pak Saba tentang kalimat palindrom adalah sebagai berikut: Jika sebuah kalimat mengandung angka, maka angka tersebut tidak akan dianggap dalam kalimat tersebut. Jika sebuah kalimat mengandung tanda baca titik . , koma , , tanda tanya ? , tanda seru ! , kurung buka ( , kurung tutup ) , bintang * , dan titik koma ;), maka tanda tersebut tidak akan dianggap dalam kalimat tersebut. Huruf besar atau huruf kecil dianggap karakter yang sama. Bantulah Pak Saba untuk menentukan apakah suatu kalimat merupakan kalimat yang palindrom atau bukan palindrom.

Input
Input diawali dengan 1 bilangan integer N ( ) yang menunjukan jumlah test case. Setiap test case terdiri dari 1 kalimat tepat pada satu baris (maksimal 500 karakter, terdiri dari karakter yang berada pada keyboard komputer dengan layout QWERTY).

Output
Untuk setiap test case, tampilkan Case i: (tanpa tanda kutip) dengan i adalah urutan test case, lalu diikuti di bawahnya (tepat satu baris) Palindrom (tanpa tanda kutip) jika kalimat tersebut merupakan kalimat yang palindrom menurut Pak Saba atau Bukan Palindrom (tanpa tanda kutip) jika sebaliknya.

Contoh Input
3 IL@PC 2012 !IL?PC KA.s!ur @ ru@sak K#asur% %ru?*sa#k*

Contoh Output
Case 1:

Bukan Palindrom Case 2: Bukan Palindrom Case 3: Palindrom

F. Penambahan Kalender
Time Limit : 1 detik Suatu ketika, Pak Saba diuji kepandaiannya oleh temannya. Ujiannya adalah penjumlahan kalender; pertama-tama akan diberikan sebuah tanggal (cek kebenaran tanggal tersebut), kemudian tanggal tersebut akan ditambahkan oleh suatu bilangan positif. Bantulah Pak Saba untuk mengetahui tanggal yang diberikan ada atau tidak.

Input
Input diawali dengan 1 bilangan integer yang menunjukkan jumlah test case. Setiap test case terdiri dari 4 bilangan integer A B C D dengan menunjukkan tanggal, menunjukkan bulan, menunjukkan tahun, dan menunjukkan jumlah hari penambahan.

Output
Untuk setiap test case, tampilkan (dalam satu baris) Case i : X (tanpa tanda kutip) dengan i adalah nomor test case. Jika tanggal yang diinputkan salah, munculkan pesan (menggantikan X) Input salah, tidak ada tanggal A pada bulan B tahun C. Jika tanggal yang diinputkan benar, tambahkan D ke tanggal tersebut dan tampilkan hasilnya (menggantikan X) dalam bentuk tanggal F bulan G tahun H dengan F, G, dan H adalah tanggal, bulan, dan tahun setelah ditambahkan D. Lihat format seperti pada contoh output.

Contoh Input
3 12 6 215 3712 27 4 788 1828 31 2 1758 430

Contoh Output
Case 1 : tanggal 10 bulan 8 tahun 225 Case 2 : tanggal 29 bulan 4 tahun 793

Case 3 : Input salah, tidak ada tanggal 31 pada bulan 2 tahun 1758

G. Perjalanan Robot
Time Limit : 1 detik Sebuah robot diletakkan di suatu gedung (berbentuk persegi/persegi panjang jika dilihat dari atas) untuk disimulasikan pergerakannya sesuai perintah yang diberikan oleh seorang instruktur. Perintah yang diberikan oleh instruktur terdiri dari: M : Maju satu meter ke depan tergantung arah pandang robot tersebut Ki : Pandangan robot tersebut bergerak ke kiri (hadap kiri 90o) Ka : Pandangan robot tersebut bergerak ke kanan (hadap kanan 90o) N : Naik satu lantai (asumsi: robot bisa langsung naik tanpa menggunakan tangga) T : Turun satu lantai (asumsi: robot bisa langsung turun tanpa menggunakan tangga) Arah pandang robot tersebut terdiri dari U (Utara), T (Timur), S (Selatan), atau B (Barat). Bantulah instruktur tersebut untuk mengetahui letak terakhir robot tersebut setelah diberikan perintah. Lantai yang paling bawah adalah lantai 1.

Input
Input diawali dengan keterangan dari gedung tempat robot tersebut akan diletakkan yang terdiri dari 3 buah integer P L T, dengan ) menunjukkan panjang gedung dalam satuan meter, L ( menunjukkan lebar gedung dalam satuan meter, dan T ( menunjukkan jumlah lantai pada gedung tersebut. Kemudian akan diikuti beberapa test case (satu test case terdiri dari dua baris). Baris pertama terdiri dari 3 buah input A B C H dengan adalah letak robot dari segi Panjang gedung dalam satuan meter, adalah letak robot dari segi Lebar gedung dalam satuan meter, menyatakan nomor lantai robot tersebut, dan H adalah arah pandang robot. Baris kedua adalah perintah dari instruktur (kurang dari 200 karakter). Test case akan berakhir ketika input yang dibaca sudah tidak ada (End of File). Keterangan: Panjang sejajar dengan arah Timur, Lebar sejajar dengan Utara. Seluruh test case menggunakan ukuran gedung yang sama.

Output
Untuk setiap test case, tampilkan Case i: x y z A (tanpa petik), dengan i adalah urutan test case, x adalah posisi terakhir si robot dari segi Panjang, y adalah posisi terakhir si robot dari segi Lebar, z adalah nomor lantai robot tersebut berada, dan A adalah arah pandang terakhir robot.

Contoh Input

3 3 2 0 0 1 U MMKaMKiMMKaMNNTT

Contoh Output
Case 1: 2 3 1 T

H. Putaran Bola
Time Limit : 1 detik

Suatu hari Pak Saba menendang bola yang berjari-jari R dari titik B ke titik A, sehingga bola tersebut menggelinding sebanyak tepat T putaran sebelum bola tersebut membentur bidang miring di titik A lalu berhenti (sudut di titik A = 60 seperti di gambar). Bantulah Pak Saba untuk menghitung jarak dari titik B ke titik A! Gunakan .

Input
Input diawali dengan 1 bilangan integer yang menunjukan jumlah test case. Setiap test case terdiri dari 2 bilangan integer R T (dalam satu baris), dengan menunjukkan jari-jari bola dan menunjukkan jumlah putaran bola sampai membentur bidang miring.

Output
Untuk setiap test case, tampilkan Case i: (tanpa tanda kutip) dengan i adalah urutan test case, lalu diikuti di bawahnya (dalam satu baris) Jarak A-B = XX (tanpa tanda kutip) dengan XX adalah jarak titik A dan titik B dengan ketelitian hingga 4 desimal di belakang koma.

Contoh Input
2 10 10 20 20

Contoh Output
Case 1: Jarak A-B = 645.6390

Case 2: Jarak A-B = 2547.9151

I . S u n g a i
Time Limit : 1 detik Ketika Saba melakukan perjalanan, dia menemui sungai dan dia harus melewatinya untuk sampai ke tempat tujuannya. Untungnya di sungai tersebut terdapat bebatuan sehingga dia bisa menggunakannya sebagai pijakan untuk melewati sungai tersebut. Untuk suatu alasan, dia hanya bisa melompat seperti ilustrasi berikut (hanya bisa ke batu yang warna kuning):

(ba (ba (ai tu) tu) r) (ba Sa (ba tu) ba tu) (ai (ba (ba r) tu) tu)

Pada contoh di atas, Saba bisa melewati sungai tersebut karena tertolong oleh susunan batu-batu yang terdapat di sungai tersebut. Bantulah Saba untuk mengetahui apakah dia bisa melewati sungai atau tidak.

Input
Input terdiri dari beberapa test case. Setiap test case terdiri dari 1 buah integer lalu diikuti dengan M baris. Setiap baris terdapat M karakter yang terdiri dari . yang menandakan air atau b yang menandakan batu. Input berhenti jika .

Output
Untuk setiap test case, tampilkan Case i: xxx (tanpa tanda kutip) dengan i adalah urutan test case dan xxx adalah kata Lolos jika Saba bisa melewati sungai atau Tidak Lolos jika Saba tidak bisa melewati sungai.

Contoh Input
4 b bbb. .b.b ..bb 12 .b....bbbb.b .b.bb...bb.. .b.bb.b..bbb

bbb.b.b.bbb. b.b.b...b.bb .b..bbb.bbbb ..bb.b..bbb. b..bb.b..bbb .b...b.b.... bbbb...bbb.. bb..b.bb.bbb ..b..bb....b 0

Contoh Output
Case 1: Lolos Case 2: Tidak Lolos

J. T Listrik
Time Limit : 1 detik Suatu ketika, Saba dan teman-temannya ingin mengerjakan tugas bersama-sama di rumah Saba. Ketika sampai di rumah Saba, mereka mengalami kebingungan karena terminal di kamarnya Saba hanya ada 4 buah, sedangkan mereka semua masing-masing membawa laptop dan ingin menyalakannya, tetapi tidak membawa baterai laptop. Sebagai tuan rumah, Saba harus menyediakan listrik untuk teman-temannya, oleh karena itu Saba menghitung jumlah minimal T listrik (setiap T listrik memiliki 3 buah lubang yang bisa dipakai) yang harus dibelinya agar biaya yang dikeluarkannya minimal. Bantulah Saba untuk menghitung jumlah minimal T listrik yang harus dibelinya.

Input
Input diawali dengan 1 bilangan integer Setiap test case terdiri 1 bilangan integer Saba. yang menunjukkan jumlah test case. yang menunjukkan jumlah teman

Output
Untuk setiap test case, tampilkan Case i: (tanpa tanda kutip) dengan i adalah urutan test case, lalu diikuti di bawahnya (dalam satu baris) Jumlah T Minimal = AA (tanpa tanda kutip) dengan AA adalah jumlah T Listrik minimal yang harus dibeli oleh Saba.

Contoh Input
2 17 199

Contoh Output
Case 1: Jumlah T Minimal = 7 Case 2: Jumlah T Minimal = 98

Penjelasan Contoh Input


Jumlah teman Saba adalah 17, maka Saba membutuhkan 18 lubang listrik untuk menyalakan laptop mereka (1 lubang untuk Saba). Seperti ditunjukkan pada ilustrasi berikut, Saba membutuhkan minimal 7 buah T listrik.

Anda mungkin juga menyukai