• Tidak ada hasil yang ditemukan

Hari 1 / Soal 1: Bukit dan Lembah

N/A
N/A
Protected

Academic year: 2021

Membagikan "Hari 1 / Soal 1: Bukit dan Lembah"

Copied!
332
0
0

Teks penuh

(1)

Hari 1 / Soal 1: Bukit dan Lembah

Kode Soal: bukit

Batas Run-time: 1 detik / test-case Batas Memori: 1 MB

Masukan: Standard input Keluaran: Standard output

Deskripsi

Diberikan data ketinggian yang di catat dalam perjalanan dari suatu posisi awal ke posisi akhir. Data ketinggian adalah bilangan-bilangan integer (bulat) positif. Jalan kadang menaik, kadang menurun, kadang datar saja. Posisi dimana terjadi perubahan menaik kemudian menurun (boleh diselingi jalan datar) didefinisikan sebagai puncak dari suatu bukit. Sebaliknya, posisi terjadi perubahan dari menurun terus menaik (boleh diselingi bagian jalan yang datar) didefinisikan sebagai titik terbawah suatu lembah. Walaupun perubahan tersebut kecil saja, definisi itu tetap berlaku. Carilah beda ketinggian terbesar antara puncak bukit dengan titik terbawah lembah berikutnya atau sebaliknya antara titik terbawah lembah dengan puncak bukit berikutnya pada data perjalanan tersebut.

Masukan

Masukan berisi data yang bisa sangat banyak sekali. Setiap elemen data dalam baris tersendiri. Anda membacanya dari yang pertama hingga end of file; minimal ada dua data dalam masukan..

Keluaran

Program hanya menghasilkan satu bilangan yang menyatakan beda ketinggian terbesar yang diperoleh. Perbedaan tinggi paling besar dijamin tidak akan melebihi harga long integer dalam Pascal.

Contoh

Masukan 10 26 26 35 35 27 30 30 45 10 8 9 Keluaran 37

(2)

Penjelasan

Ada 12 data. Beda ketinggian pertama (10 ke 35) adalah 25, beda kedua (35 ke 27) adalah 8, beda ketiga (27 ke 45) adalah 18, beda ketinggian keempat (45 ke 8) adalah 37, dan beda ketinggian kelima (8-9) adalah 1. Jadi beda ketinggian tertinggi adalah 37.

Petunjuk Standard I/O

Banyak peserta yang tidak mengikuti PJJ karena berbagai alasan. Dalam deskripsi soal-soal PJJ diberikan contoh-contoh bagaimana membaca dari standard input/output. Tapi, ok sekarang diberikan contoh membaca semua bilangan dari standard input dengan format seperti yang digunakan pada sal Bukit-Lembah.

var bil: integer; begin

while not eof(input) do begin readln(bil);

write(bil,' '); end;

end.

Misalnya, disimpan dengan nama coba.pas. Untuk mengujinya, buatlah file coba.txt berisi bilangan-bilangan dengan format seperti untuk soal Bukit-Lembah sbb.

34 2 44 2 4 5 245 3 32

Setelah dicompile, jalankan dengan perintah

coba < coba.txt

Soal-soal lainnya pun menggunakan standard input/output sehingga anda tidak perlu assign(...), dst.

(3)

Hari 1 / Soal 2: Kata Spiral

Kode Soal: spiral

Batas Run-time: 1 detik / test-case Batas Memori: 1 MB

Masukan: Standard input Keluaran: Standard output

Deskripsi

Suatu sistem sandi menyandikan kalimat yang diberikan dalam bantuk spiral. Penyusunan tersebut dilakukan membentuk matriks spiral yang dimulai pusat matriks 1 karakter pertama, lalu 1 karakter berikutnya ke kanan, lalu 1 karakter berikutnya ke bawah, lalu 2 karakter berikutnya ke kiri, lalu 2 karakter berikutnya ke atas, 3 karakter berikutnya ke kanan, 3 karakter berikutnya ke bawah, dan seterusnya hingga semua karakter dalam kalimat termasuk dalam spiral. Khususnya, karakter spasi di ganti dengan “_” (underscore), dan jika ada baris/kolom tersisa setelah karakter terakhir maka elemen-elemen matriks diisi juga dengan “_” (underscore) tsb. Misalnya kalimat “Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaik-baiknya untuk mendapatkan peringkat terbaik.” Dikodekan kedalam matriks sebagai berikut. b a i k . _ _ _ _ _ _ r a i k n y a _ u n t e b m e n g e r j a u t - _ b i d a n g k k _ k s _ h _ p e _ a _ t i u N u S e s k n m a a r S r u l e o _ e k b a O _ a t r m s n g e h _ r e t u p o d n s _ l a o s - l a a i r e p _ n a k t a p

Masukan

Program membaca satu baris teks paling panjang 250 karakter.

Keluaran

Program harus menghasilkan sejumlah baris sesuai dengan matriks yang dibentuk. Setiap baris keluaran berisikan karakter-karakter dari baris yang sama berturut-turut dari kolom paling kiri ke paling kanan tanpa pemisahan (karakter-karakter dituliskan bersambungan menjadi satu string serta jangan lupa setiap spasi menjadi underscore).

Contoh 1

Masukan (tertulis dalam satu baris)

(4)

Seluruh peserta OSN bidang komputer harus mengerjakan soal-soal sebaik-baiknya untuk mendapatkan peringkat terbaik. Keluaran baik.______ raiknya_unt ebmengerjau t-_bidangkk _ks_h_pe_a_ tiuNuSesknm aarSruleo_e kbaO_atrmsn geh_retupod ns_laos-laa irep_naktap

Contoh 2

Masukan (tertulis dalam satu baris)

TOKI

Keluaran (ada ralat pada ralat ini)

TO IK

Contoh 3

Masukan (tertulis dalam satu baris) OSN Keluaran OS _N

Contoh 4

Masukan (tertulis dalam satu baris)

Bisakah Kamu?????

Keluaran

(5)

_h_Ka _aBim _kasu ?????

(6)

Hari 1 / Soal 3: Faktorial

Kode Soal: faktorial

Batas Run-time: 1 detik / test-case Batas Memori: 1 MB

Masukan: Standard input Keluaran: Standard output

Deskripsi

Pasti anda sudah pernah belajar apakah itu bilangan faktorial. Sesuai dengan definisinya bilangan faktorial n! = n.(n-1).(n-2)…..1. Untuk n yang kecil bilangan tersebut masih mudah dihitung dengan manual tetapi untuk n yang cukup besar bisa menghasilkan bilangan dengan jumlah digit yang amat banyak sehingga tentu melelahkan jika dihitung dengan manual bahkan dengan komputerpun kita perlu cara khusus untuk menanganinya akibat adanya batasan representasi bilangan integer. Oleh sebab itu dalam rumus-rumus bilangan faktorial tetap dinyatakan dalam bentuk n!, misalnya n!/(n-k)!k!. Untuk perhitungan (50! * 100! * 75!)/(73! * 99! * 52!) tentu tidak memungkinkan kalau masing-masing bilangan faktorialnya dihitung terlebih dahulu lalu diperkalikan/diperbagikan kemudian. Sebaliknya, akan lebih mudah jika dilakukan penyederhanaan dengan menghilangkan faktor-faktor yang sama antara pembilang (di atas tanda bagi) dan penyebut (di bawah tanda bagi) sampai tinggal sejumlah bilangan nonfaktorial yang tersisal. Contohnya.

(50! * 100! * 75!)/(73! * 99! * 52!) = ( 74 * 75 * 100 ) / ( 51 * 52 )

yang berikutnya, dengan menguraikan ke faktor-faktor bilangan prima dapat disederhanakan lebih lanjut menjadi (catatan: notasi ^ adalah tanda pangkat).

= (2 * 37 * 3 * 52 * 22 * 52) /(3 * 17 * 22 * 13)

= (2 * 54 * 37)/(13 * 17)

Dengan ekspresi tersebut, perhitungan kemudian menjadi lebih memungkinkan untuk dilakukan dibandingkan saat masih dalam bentuk faktorial.

Buatlah program yang dapat melakukan penyederhanaan ekspresi perkalian/pembagian bilangan-bilangan faktorial hingga faktor-faktor bilangan prima seperti di atas.

Masukan

Masukan terdiri atas dua baris. Baris pertama menyatakan harga-harga n dari bilangan-bilangan faktorial yang berada pada bagian pembilang (yang dibagi). Baris kedua menyatakan harga-harga n dari bilangan-bilangan faktorial yang berada pada bagian penyebut. Format masing-masing bilangan sama sbb. Bilangan pertama menyatakan jumlah bilangan faktorial pada baris ybs. Jumlah bilangan tersebut paling sedikit 1 dan paling banyak 20. Misalkan jumlah bilangan itu m, berikutnya ada m bilangan bulat positif a, b, c, …,dst. yang masing-masing dapat berharga 2 sampai dengan 1000. Masing-masing bilangan tersebut menyatakan bilanga-bilangan faktorial a, b, c, … dst.

(7)

Keluaran

Keluaranya terdiri dari dua baris, baris pertama untuk pembilang dan beris kedua untuk penyebut. Bilangan-bilangan adalah bilangan prima yang tersisa dan untuk pangkat yang lebih dari 1 dituliskan di dalam tanda kurung langsung setelah bilangan prima ybs (tanpa spasi). Bilangan-bilangan prima dituliskan dari yang terkecil ke yang terbesar. Sekali lagi, penulisan pangkat hanya untuk bilangan prima dengan pangkat lebih dari 1. Jika salah satu dari pembilang atau penyebut berharga 1 maka baris untuk ybs dikosongkan (sebagai konsekuensi tidak adanya faktor bilangan prima padanya.

Contoh 1

Masukan 3 50 100 75 3 73 99 52 Keluaran 2 5(4) 37 13 17

Contoh 2

Masukan 1 100 1 99 Keluaran 2(2) 5(2)

Contoh 3

Masukan 1 48 1 49 Keluaran 7(2)

Penjelasan: pada contoh kedua, baris kedua kosong dan pada contoh ketiga, baris pertama yang kosong.

(8)

Hari 2 / Soal 1: Sandi Ayam

Kode Soal: ayam

Batas Run-time: 0,5 detik / test-case Batas Memori: 16 MB

Masukan: Standard input Keluaran: Standard output

Pak Dengklek punya tetangga baru yang berprofesi sebagai peternak ayam. Tentunya, tetangga baru ini memiliki beberapa ayam. Bebek-bebek Pak Dengklek tidak suka dengan kehadiran ayam-ayam ini, antara lain karena mereka curiga ayam-ayam tersebut akan melakukan hal-hal yang tidak baik. Dalam beberapa hari semenjak kedatangannya saja, bebek-bebek sudah menemukan goresan-goresan aneh di tanah. Setelah diteliti, para bebek menyimpulkan bahwa ayam-ayam tersebut sedang menuliskan sandi angka. Penelitian lebih lanjut memberikan hasil mengenai arti dari setiap sandi, seperti yang dijelaskan di bawah ini.

Ayam-ayam menggunakan 20 macam simbol. Setiap simbol adalah hasil dari patokan paruh ayam (bulatan kecil) dan/atau goresan cakar ayam (garis). Bukti-bukti yang sejauh ini ada menunjukkan bahwa setiap simbol memiliki padanan seperti yang tertera pada gambar 1.

Gambar 1. Terjemahan Sandi Angka Ayam

Untuk membentuk angka yang benilai lebih dari 19, simbol-simbol di atas ditulis secara vertikal dan dibaca seperti layaknya bilangan dengan basis 20. Simbol dengan bobot lebih besar digores paling atas. Tentunya, dengan sistem ini para bebek berharap bahwa nilai satuan dari setiap simbol, mulai dari simbol yang mewakili satuan terkecil, adalah 1, 20, 400, 8000, dst. Akan tetapi, ayam-ayam tersebut lebih cerdas. Ternyata, harga satuan simbol ketiga dari bawah (bila ada) hanya 18 kali lebih

(9)

besar dari harga satuan simbol kedua dari bawah. Akan tetapi untuk simbol-simbol berikutnya, nilai satuannya tetap 20 kali lebih besar daripada satuan sebelumnya. Untuk lebih jelasnya, lihat contoh berikut ini.

Gambar 2. Contoh Sandi Ayam

Seperti yang tertera pada gambar di atas, sandi di atas terdiri dari 4 simbol. Simbol paling atas melambangkan angka 2, simbol di bawahnya melambangkan angka 0, berikutnya angka 17 dan yang paling bawah melambangkan angka 1. Bila kita mengikuti sistem bilangan yang digunakan oleh para bebek (yang untungnya adalah sama seperti kita, desimal), maka angka yang dimaksud oleh sandi di atas adalah 14741 (= 2x7200 + 0x360 + 17x20 + 1).

Para bebek memiliki kesulitan untuk menerjemahkan sandi-sandi yang panjang. Untuk itu, mereka meminta bantuan kalian untuk menerjemahkannya.

FORMAT MASUKAN

Masukan akan berisi sebuah angka yang tertulis dalam sandi ayam. Untuk mempermudah tugas kalian, patokan ayam akan dimasukkan sebagai titik (.), dan cakaran ayam akan dimasukkan sebagai tanda hubung (-). Simbol 0 (lingkaran besar) akan dimasukkan sebagai angka 0. Setiap dua simbol akan dipisahkan oleh sebuah baris kosong. Masukan akan diakhiri oleh penanda akhir berkas (end-of-file).

Masukan berisi setidaknya sebuah simbol, tapi tidak lebih dari 30 simbol. Untuk setidaknya setengah dari total bobot testcase yang diujikan, masukan terdiri tidak lebih dari 14 simbol.

(10)

CONTOH MASUKAN .. 0 .. - - - . FORMAT KELUARAN

Keluaran hanya terdiri dari sebuah baris berisi sebuah bilangan bulat yang merupakan hasil penerjemahan sandi ayam pada masukan.

CONTOH KELUARAN

14741

Peringatan

Keluaran untuk masukan dengan banyak simbol lebih dari 14 buah tidak dijamin dapat dimuat oleh sebuah variabel integer 64-bit bertanda (int64 di FreePascal).

(11)

Hari 2 / Soal 2: Maze

Kode Soal: maze

Batas Run-time: 1 detik / test-case Batas Memori: 1 MB

Masukan: Standard input Keluaran: Standard output

Deskripsi

Anda tahu permainan maze? Kalau melihat gambar berikut ini pasti tahu. Dalam permainan maze ini makhluk yang digambarkan dengan bulatan wajah Mr Groovy harus mencari jalan ke luar dari grid maze yang diberikan.

keluar

Jalan keluar yang harus dilaluinya adalah kota-kotak yang berwarna kuning tsb. Masalahnya karena bisa terdapat beberapa cara untuk mencapai jalan keluar maka disini anda harus menemukan jumlah kotak yang paling sedikit dalam lintasan (menyatakan juga jumlah langkah terpendek untuk mencapai bagian luar). Dalam hal contoh maze di atas yang paling sedikit adalah 17 kotak/langkah yaitu yang berwana kuning tsb.

Masukan

Baris pertama berisikan b dan k yang menyatakan jumlah baris dan jumlah kolom matriks grid tersebut. Kedua bilangan dipisahkan satu spasi. Jumlah baris/kolom terkecil adalah 3 dan jumlah baris/kolom terbesar adalah 100. Pada b baris berikutnya maze didefinisikan sbb. Harga -1 menyatakan dinding yang tidak dapat ditembus, harga 0 menyatakan ruang yang dapat dilalui. Dipastikan sekurangnya ada satu jalan keluar. Setiap baris grid pada baris masukan tersendiri. Pada baris yang sama harga-harga tersebut dituliskan terpisah satu spasi dengan harga-harga berikutnya. Pada baris terakhir terdapat dua bilangan a dan b yang menyakan posisi awal Mr Groovy berada, a nomor baris dan b nomor kolom dengan penomoran baris: 1, 2, 3, …, dimulai dari atas ke bawah dan penomoran kolom: 1, 2, 3, …, dimulai dari kiri ke kanan.

(12)

Dipastikan posisi awal ini selalu berada pada ruangan (bukan tembok!) dan di dalam matriks.

Keluaran

Program hanya mengeuarkan jumlah langkah paling sedikit untuk mencapai luar (sama juga dengan jumlah kotak paling sedikit yang dilalui).

Contoh

Masukan 8 10 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 -1 0 0 0 -1 0 0 -1 -1 0 0 0 -1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 0 0 0 -1 0 -1 -1 -1 -1 -1 0 -1 0 -1 0 -1 0 0 -1 -1 0 -1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 7 5 Keluaran 17

(13)

Hari 2 / Soal 3: Segitiga Bebek

Kode Soal: bebek3

Batas Run-time: 0,5 detik / test-case Batas Memori: 16 MB

Masukan: Standard input Keluaran: Standard output

Suatu hari Pak Dengklek mendapat penghasilan lebih dari hasil berjualan telur bebek asin. Oleh karena itu ia ingin membagi keuntungannya dengan bebek-bebeknya, dengan cara memberi makan lebih untuk mereka. Sayangnya uangnya hanya cukup untuk memberi makan lebih kepada tiga ekor bebek. Untuk itu ia membuat suatu cara untuk memilih tiga ekor bebek mana yang akan diberinya makan lebih hari itu. Saat itu, bebek-bebeknya sedang berkeliaran di ladangnya yang luas. Pak Dengklek memutuskan untuk memberi makan lebih kepada tiga ekor bebek yang di posisinya sekarang membentuk segitiga dengan luas minimum. Yang dimaksud segitiga dengan luas minimum di sini adalah, semua segitiga lain yang dibentuk oleh bebek-bebek memiliki luas yang lebih besar dari luas segitiga tersebut.

Karena banyaknya jumlah bebek-bebek, Pak Dengklek meminta bantuanmu untuk masalah ini. Bantulah Pak Dengklek dengan mencari luas segitiga minimum tersebut akurat hingga dua tempat desimal.

FORMAT MASUKAN

Baris pertama dari masukan berisi sebuah bilangan N, yang menyatakan jumlah bebek-bebek yang tersebar di ladang Pak Dengklek saat ini. 1 ≤ N ≤ 300. Baris kedua hingga baris ke N+1 masing masing akan berisi dua buah bilangan bulat xi dan yi, yang merupakan koordinat bebek ke-i di sistem koordinat kartesian. -10000 ≤ xi,yi ≤ 10000. Tidak akan ada dua bebek yang berbeda yang berada di posisi (x, y) yang sama. CONTOH MASUKAN 4 0 0 -5 10 3 0 0 9

(14)

FORMAT KELUARAN

Keluaran hanya terdiri dari sebuah baris berisi bilangan yang merupakan luas segitiga minimum menurut syarat yang sudah dijelaskan dengan dua tempat desimal. Jika tidak ada segitiga yang memenuhi syarat tersebut, keluarkan angka -1.00 .

CONTOH KELUARAN

(15)

Olimpiade Sains Nasional V Bidang Informatika

Page 1 of 8

Faktorial

Kode Soal: OSN601

Batas Run-time: 1 detik / test-case Batas Memori: 32 MB

Masukan: Standard input Keluaran: Standard output

Diberikan sebuah bilangan N, N! disebut N faktorial dan nilainya dihitung dengan rumus : N x (N - 1) x (N - 2) ... x 1.

Tugas Anda adalah menghitung berapa jumlah angka nol berturutan yang mengakhiri N!. Sebagai contoh:

a. N=10: 10! = 3 628 800, maka jumlah angka nol adalah 2.

b. N=8: 8! = 40 320, jumlah angka nol adalah 1 (nol di tengah tidak dihitung).

FORMAT MASUKAN

Masukan hanya terdiri dari satu baris berisi bilangan bulat N (1 ≤ N ≤ 10 000).

FORMAT KELUARAN

Tuliskan satu bilangan bulat yang menyatakan jumlah angka nol yang mengakhiri N!.

CONTOH MASUKAN 1 10 CONTOH KELUARAN 1 2 CONTOH MASUKAN 2 8 CONTOH KELUARAN 2 1 CATATAN

Hati-hati dengan integer overflow: tipe data longint atau long hanya dapat menampung bilangan hingga sekitar 2 milyar.

PETUNJUK

Jika Anda dapat memanfaatkan sifat rumus faktorial, maka Anda akan mendapatkan hasil yang lebih efisien

(16)

Olimpiade Sains Nasional V Bidang Informatika

Page 2 of 8

Tebak Lagu

Kode Soal: OSN602

Batas Run-time: 1 detik / test-case Batas Memori: 32 MB

Masukan: Standard input Keluaran: Standard output

Pak Dengklek dan bebek-bebeknya punya permainan baru, yaitu tebak lagu. Sesuai namanya, dalam permainan ini salah satu bebek akan menyanyikan fragmen/potongan sebuah lagu untuk kemudian ditebak oleh Pak Dengklek. Karena tahu bahwa Pak Dengklek bukanlah seorang penghafal yang handal, para bebek menyiapkan sebuah buku yang berisikan daftar lagu yang akan mereka nyanyikan, lengkap dengan nadanya.

Seperti halnya manusia, para bebek tidak menyanyi dengan ketinggian nada yang sama satu sama lain. Oleh sebab itu, mereka sepakat untuk menuliskan nada-nada lagu di buku lagu mereka dalam nada dasar C tengah (C4 pada piano manusia, yang mereka beri simbol c.), yaitu nada dengan frekuensi 261.6 Hz. Untuk nada-nada yang lain, perhatikan daftar lengkap nada, simbol, dan frekuensi yang digunakan oleh para bebek (terurut menaik berdasar ketinggian nada), yang diberikan pada tabel di bawah ini:

Nada Simbol Frekuensi Nada Simbol Frekuensi

C4 c. 261.6 C5 C. 523.3 C#4 c# 277.2 C#5 C# 554.4 D4 d. 293.7 D5 D. 587.3 D#4 d# 311.1 D#5 D# 622.3 E4 e. 329.6 E5 E. 659.3 F4 f. 349.2 F5 F. 698.5 F#4 f# 370.0 F#5 F# 740.0 G4 g. 392.0 G5 G. 784.0 G#4 g# 415.3 G#5 G# 830.6 A4 a. 440.0 A5 A. 880.0 A#4 a# 466.2 A#5 A# 932.3 B4 b. 493.9 B5 B. 987.8

Sebagai contoh, misalkan ada dua bebek (bebek Kwek dan bebek Kwak) yang akan menyanyikan sebuah lagu yang sama. Bebek Kwek menyanyikan lagu tersebut dalam nada dasar D4 (d.) dan bebek Kwak menyanyikannya dalam nada dasar E4 (e.). Rangkaian nada yang mereka nyanyikan adalah:

Bebek Kwek: d.e.f#e.d. Bebek Kwak: e.f#g#f#e.

Sedangkan dalam buku lagu mereka, lagu tersebut akan dituliskan sebagai c.d.e.d.c..

Karena perbedaan nada dasar itulah, meski dapat mengenali nada dengan sangat akurat, Pak Dengklek merasa kesulitan dalam menebak lagu apa yang para bebeknya nyanyikan. Karena itulah,

(17)

Olimpiade Sains Nasional V Bidang Informatika

Page 3 of 8

Pak Dengklek meminta bantuan Anda untuk membuatkan sebuah program yang dapat mengetahui lagu mana yang dinyanyikan para bebek.

Informasi yang akan Pak Dengklek berikan pada Anda adalah:

1. Potongan lagu yang didengar oleh Pak Dengklek (dengan nada dasar sesuai yang dinyanyikan bebek yang bersangkutan).

2. Banyaknya lagu yang ada pada buku lagu bebek.

3. Rangkaian nada dari lagu-lagu dalam buku lagu tersebut.

FORMAT MASUKAN

Baris pertama berisikan serangkaian karakter yang merepresentasikan rangkaian nada yang ingin dicari (sesuai simbol pada tabel pada deskripsi soal). Baris kedua berupa sebuah integer n (1 <= n <= 100) yang menunjukkan banyaknya data lagu yang ada. n-baris berikutnya berisikan data lagu yang tersedia, masing-masing dalam satu baris. Tiap baris masukan rangkaian nada terdiri atas tidak lebih dari 250 karakter.

FORMAT KELUARAN

Nomor lagu yang di dalamnya terdapat rangkaian nada yang bersesuaian dengan nada yang dicari, atau # jika rangkaian nada yang dicari tidak ditemukan. Penomoran lagu dimulai dari 1 (i.e. baris setelah integer n pada masukan merupakan data lagu ke-1). Jika ada lebih dari satu lagu yang bersesuaian dengan potongan lagu yang diberikan, tuliskan lagu dengan nomor terkecil saja.

CONTOH MASUKAN 1 g.g.g.f.e.d.c. 6 d.c.e.d.c.f.e.d.g.g.g.f.e.d.e. c.d.e.c#d.e.f#a.d.c. c.d#e. c.d.e.f.g.g.g.d.e.f.c.d.e. c.c#d.d#e.f.f#g.g#a.a#b.C. G.F.D#G#G.F.A#A#A#G#G.F.D# CONTOH KELUARAN 1 6 CONTOH MASUKAN 2 c.d.e. 1 C.D.C. CONTOH KELUARAN 2 #

(18)

Olimpiade Sains Nasional V Bidang Informatika

Page 4 of 8

Ulang Tahun

Kode Soal: OSN603

Batas Run-time: 1 detik / test-case Batas Memori: 32 MB

Masukan: Standard input Keluaran: Standard output

Beberapa hari lagi, Pak Dengklek akan merayakan ulang tahunnya yang ke-61. Beliau bermaksud akan mengundang teman-temannya untuk menghadiri pesta ulang tahunnya tersebut. Sayangnya, beliau baru saja kehilangan satu-satunya buku telepon yang dipunyainya. Karena itu, ia harus mengunjungi wartel terdekat dan membuka buku kuning (yellow pages) untuk mengetahui nomor telepon teman-temannya. Tidak lupa ia mengajak Anda untuk membantunya mencarikan nomor telepon teman-temannya tersebut.

Diberikan buku kuning yang berisi pasangan nama dan nomor telepon seluruh penduduk desa tempat Pak Dengklek tinggal, serta nama-nama teman Pak Dengklek yang tinggal di desa tsb., tolonglah Pak Dengklek untuk mencari nomor telepon teman-teman Pak Dengklek tersebut.

FORMAT MASUKAN

Baris pertama berisi dua buah bilangan bulat:

N (1 ≤ N ≤ 10.000), menunjukkan jumlah penduduk desa yang terdaftar di buku kuning. Q (1 ≤ Q ≤ 10.000), menunjukkan jumlah teman Pak Dengklek.

N baris selanjutnya berisi nama dan nomor telepon setiap orang di desa tersebut, dipisahkan dengan spasi.

Q baris selanjutnya berisi nama-nama teman Pak Dengklek. Nama setiap orang hanya akan tersusun dari huruf kapital, dengan panjang maksimal 15 huruf.

Daftar nama pada buku kuning akan terurut sesuai abjad, tetapi daftar teman Pak Dengklek yang akan dicari nomor telponnya belum tentu terurut dan satu teman Pak Dengklek bisa saja ditanyakan lebih dari sekali. Setiap nomor telepon terdiri atas tepat 7 angka, satu nomor telepon dapat dimiliki oleh lebih dari satu orang. Semua teman pak Dengklek yang akan dicari nomor telponnya pasti tercantum dalam buku kuning.

FORMAT KELUARAN

Keluarkan Q baris, di mana setiap barisnya berisi nomor telepon dari teman yang ditanyakan oleh Pak Dengklek. CONTOH MASUKAN 10 5 ACONG 8468431 BALAJI 1573547 GREGOR 1765743 JAPRA 3746843 JOKO 1357891 MALARANGENG 1375638 MANMOHAN 1357562 SITORUS 1378651 TERRY 8756345

(19)

Olimpiade Sains Nasional V Bidang Informatika Page 5 of 8 YUDHOYONO 1781945 GREGOR YUDHOYONO ACONG MANMOHAN JAPRA CONTOH KELUARAN 1765743 1781945 8468431 1357562 3746843

(20)

Olimpiade Sains Nasional V Bidang Informatika

Page 6 of 8

Runtuh

Kode Soal: OSN604

Batas Run-time: 1 detik / test-case Batas Memori: 32 MB

Masukan: Standard input Keluaran: Standard output

Game (permainan) ini adalah sebuah game yang bertujuan untuk membuat penuh satu baris (horizontal) dari sebuah board (papan) menggunakan beberapa bangun yang disediakan. Jika sebuah baris penuh terisi maka baris tersebut akan dihilangkan dan sisa bangun di atasnya akan "diruntuhkan" satu demi satu turun melewati ruang yang telah kosong sampai menumpuk di atas bangun yang ada di bawahnya. Penumpukan yang terjadi dapat menghasilkan situasi seperti pada saat awal di atas yaitu terdapat baris-baris yang penuh terisi, yang selanjutnya akan dihilangkan lagi (setelah semua runtuh). Demikian berlangsung bisa berulang-ulang sampai tidak ada lagi baris

yang penuh terisi.

Anda akan diberikan sebuah kondisi board dari suatu game ini untuk ditentukan kondisi akhirnya. Misalnya untuk board seperti di bawah ini:

(21)

Olimpiade Sains Nasional V Bidang Informatika

Page 7 of 8

Kondisi board setelah baris yang terisi penuh dihilangkan, akan menyisakan ruang kosong seperti di bawah ini:

Bangun-bangun yang terletak di atas baris terbawah yang dihilangkan akan diruntuhkan ke bawah sehingga kondisi board setelah terjadi penurunan adalah seperti di bawah ini:

Dalam contoh di atas kebetulan keruntuhan hanya sekali saja dalam sejumlah testcase bisa terjadi berulang-ulang.

FORMAT MASUKAN

Baris 1: Jumlah baris (1..20) dan kolom (1..8) board. Dipisahkan oleh spasi. Baris 2..jumlah baris+1: Berisi konfigurasi awal board dalam bentuk angka 0 atau 1 sebanyak jumlah kolom. 1 berarti ada bangun pada posisi tersebut, 0 berarti ruang kosong pada posisi tersebut.

FORMAT KELUARAN

(22)

Olimpiade Sains Nasional V Bidang Informatika Page 8 of 8 CONTOH MASUKAN 11 6 000000 000000 011100 110011 111111 111000 111111 111111 111001 001100 111011 CONTOH KELUARAN 000000 000000 000000 000000 000000 010000 111000 111001 111101 001110 111011

(23)

SOAL ARITMETIKA / ANALITIKA / LOGIKA

1. Bilangan selanjutnya dari barisan 4, 5, 8, 13, 20, 29, ... adalah:

a. 38

b. 39

c. 40

d. 42

e. 49

2. Berapakah nilai dari

?

a. 1

b. 2/3

c. 30/11

d. 2

e. tidak ada pilihan jawaban lain yang benar

3. Berapakah nilai dari ekspresi 2 – 4 + 6 – 8 + 10 – 12 + 14 – ... – 100 ?

a. –50

b. 0

c. 50

d. 100

e. tidak ada pilihan jawaban lain yang benar

4. Berapakah nilai dari: 1 + 2 – 3 – 4 + 5 + 6 – 7 – 8 + 9 + ... – 99 – 100 ?

a. –100

b. 0

c. 1

d. 100

e. tidak ada pilihan jawaban lain yang benar

5. Floor(x) adalah bilangan bulat terbesar yang tidak lebih besar dari x. Sebagai contoh, floor(10/3) = 3. Berapakah hasil perhitungan

floor(floor(1000/7)/floor(71/2))?

a. 4

b. 5

c. 7

d. 10

e. 500

6. Jika a ⌂ b = ab + a – b, berapakah (7 ⌂ p) – (p ⌂ 7)?

a. 14p

b. 14 – 2p c. p + 7

d. 0

e. tidak ada pilihan jawaban lain yang benar

7. Ada berapa carakah kita dapat menuliskan angka 10 sebagai hasil penjumlahan atas tepat tiga bilangan bulat positif yang tidak harus berbeda

satu sama lain jika urutan penulisannya tidak diperhitungkan? (Sebagai contoh, salah satu cara memperolehnya adalah 10 = 1+4+5, yang sama

dengan 10 = 4+1+5)

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(24)

a. 5

b. 6

c. 7

d. 8

e. 10

8. Sebuah lantai persegi panjang dilapisi sepenuhnya dengan ubin yang berukuran 1 × 2. Jika ubin-ubin ini tidak dipotong dan tidak saling

bertindihan, lantai tersebut tidak mungkin berukuran:

a. 4 × 9

b. 8 × 8

c. 11 × 7 d. 16 × 5 e. tidak ada pilihan jawaban lain yang benar

9. Sebuah kubus 4 × 4 × 4, yang dibangun dengan cara melekatkan kubus-kubus berukuran 1 × 1 × 1, dicat pada sisi-sisi luarnya dan kemudian

diurai kembali. Berapa jumlah kubus-kubus kecil hasil penguraian ini yang memiliki tepat 2 sisi bercat?

a. 8

b. 16

c. 20

d. 24

e. 32

10. Sebuah kotak berisikan 80 balok, sebagian terbuat dari kayu dan sebagian lagi terbuat dari plastik. Tiap balok diwarnai dengan warna merah

atau hijau. Jika 48 buah balok terbuat dari kayu dan 32 balok berwarna merah, berapakah jumlah terbesar balok plastik hijau yang mungkin?

a. 16

b. 24

c. 32

d. 48

e. tidak ada pilihan jawaban lain yang benar

11. Sebuah jalur yang berlebar 1m dikelilingi sebagian oleh pagar yang ditunjukkan pada diagram berikut. Berapakah panjang dari pagar tersebut?

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(25)

a. 21m

b. 22m

c. 23m

d. 24m

e. 25m

12. Seorang siswa yang sedang menggunakan sebuah kalkulator untuk menghitung sebuah penjumlahan secara tidak sengaja menambahkan 79012

sementara sebenarnya ia ingin menambahkan 7912. Untuk membetulkan perhitungannya dalam satu operasi, siswa tersebut harus melakukan

pengurangan dengan:

a. 7012

b. 71100 c. 71112 d. 86924 e. tidak ada pilihan jawaban lain yang benar

13. Suatu hari, Kwek bertanya kepada Pak Dengklek, “Pak, berapa umur Anda?”. Pak Dengklek menjawab, “Tahun ini, saya tiga kali lebih tua dari

saudara saya. Enam tahun lalu, saya lima kali lebih tua darinya.” Berapakah umur Pak Dengklek saat itu?

a. 36

b. 40

c. 49

d. 55

e. tidak ada pilihan jawaban lain yang benar

14. Empat orang anak menemukan sekantong kelereng dan membaginya di antara mereka. Tiap anak mengambil sejumlah berbeda kelereng dan

tidak satupun anak mendapat kelereng sebanyak lebih dari 2 kali lipat kelereng yang dimiliki oleh anak lainnya. Banyak terkecil kelereng yang

mungkin terdapat pada kantong tersebut adalah:

a. 10

b. 15

c. 18

d. 21

e. tidak ada pilihan jawaban lain yang benar

15. Tepat 100 orang tinggal di sebuah desa. Orang tertua di desa tersebut dilahirkan pada tahun 1900 dan setiap orang pada desa tersebut dilahirkan

pada tahun yang berbeda tetapi kesemuanya lahir pada 1 Januari. Pada tahun 1999, hasil penjumlahan digit-digit dari angka tahun lahir seorang

penduduk desa tersebut sama dengan umurnya saat itu. Berapakah umur orang tersebut?

a. 4

b. 12

c. 16

d. 23

e. tidak ada pilihan jawaban lain yang benar

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(26)

16. Kwak berlari dengan kecepatan tetap dari titik A ke titik C. Pada saat yang bersamaan, Kwik berlari dari titik B ke titik C dengan kecepatan

tetap pula. Mereka tiba di C pada saat yang bersamaan. Jika mereka terus berlari dengan arah yang sama seperti semula, Kwak tiba di B tepat

10 detik sebelum Kwik tiba di A. Seberapa cepatkah (dalam m/s) Kwik berlari? (titik C berada di antara A dan B, jarak AC adalah 60m, jarak

CB 40m)

a. 3

b. 10/3

c.

13/3

d. 5

e. informasi tidak

cukup

17. Sebuah kotak berisikan beberapa buah

apel. Kwak mengambil 1/2 di antaranya

ditambah 1 buah apel lagi dari apel-apel

yang tersisa. Kemudian, Kwik mengambil 1/3

dari apel yang tersisa tetapi kemudian memasukkan kembali 2 buah apel ke dalam kotak. Kwek lantas mengambil 5/6 dari apel yang tersisa

ditambah 1 buah apel lainnya. Setelah pengambilan-pengambilan tersebut, apel yang tersisa di dalam kotak tersebut tinggal 7 buah. Berapa

banyakkah jumlah apel mula-mula?

a. 16

b. 44

c. 110

d. 140

e. tidak ada pilihan jawaban lain yang benar

18. Dalam sebuah ujian yang terdiri atas 2 soal, 18 peserta menjawab pertanyaan pertama dengan benar, 23 peserta menjawab pertanyaan kedua

dengan benar, 8 peserta menjawab kedua pertanyaan dengan benar dan 11 peserta tidak berhasil menjawab dengan benar kedua pertanyaan.

Berapakah jumlah peserta ujian tersebut?

a. 41

b. 44

c. 49

d. 52

e. 60

19. Berapakah banyaknya persegi panjang pada sebuah papan catur berukuran 5 × 5? (Jangan lupa menghitung pula bujur sangkar (persegi) yang

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(27)

ditemukan karena bujur sangkar merupakan salah satu jenis khusus dari persegi panjang)

a. 25

b. 225

c. 55

d. 200

e. 170

20. Pak Dengklek memiliki 101 buah telur yang harus dibagi-bagi ke dalam beberapa buah kantung untuk dijual. Pak Dengklek kemudian melabeli

kantung-kantung tersebut dengan banyaknya telur yang ada dalam kantung tersebut serta menyegelnya. Pak Dengklek ingin agar dia dapat

melayani seorang pembeli yang ingin membeli telur sebanyak sembarang butir antara 1 dan 101 (termasuk 1 dan 101) tanpa harus membuka

satu pun segel dan mengemas ulang telur-telur tersebut. Agar dapat memenuhi kondisi tersebut, berapakah jumlah kantung minimal yang

dibutuhkan Pak Dengklek pada saat pembungkusan awal? (Perlu diketahui bahwa Pak Dengklek bebas menentukan banyaknya kantung serta

banyaknya telur yang dimasukkan pada masing-masing kantung, jumlah telur pada setiap kantong tidak harus sama meski boleh sama, dan telur

harus dimasukkan ke dalam kantung dalam kondisi utuh – tidak mungkin memasukkan ½ telur atau telur dalam jumlah pecahan lainnya)

a. 7

b. 21

c. 5

d. 101

e. 8

21. Berat badan Kwek 140 gram lebih berat dari Kwik. Total berat mereka 200 gram. Berapakah berat badan Kwik (dalam gram)?

a. 30

b. 60

c. 80

d. 140

e. 170

22. Dalam sebuah turnamen sepakbola, setiap kesebelasan diharuskan bertanding tepat satu kali melawan tiap kesebelasan lainnya. Jika dalam

turnamen tersebut dimainkan 66 pertandingan, berapakah banyaknya kesebelasan yang mengikuti turnamen tersebut?

a. 33

b. 12

c. 20

d. 11

e. 6

23. Sebuah lomba tenis perorangan dilangsungkan dengan sistem gugur. (Untuk setiap tahap, tiap peserta ditandingkan dengan salah satu peserta

lain. Peserta yang menang akan maju ke tahap berikutnya dan ditandingkan dengan salah satu pemenang lainnya. Demikian seterusnya hingga

tersisa 1 orang pemenang pada tahap terakhir.) Jika banyak peserta adalah 32 orang, berapakah banyaknya pertandingan yang terjadi pada

lomba tenis tersebut?

a. 32

b. 16

c. 15

d. 31

e. 17

24. Seorang saudagar kaya memiliki banyak koin emas. Karena tak ingin kekayaannya diketahui orang, dia menyimpannya di sebuah gua

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(28)

tersembunyi di dalam hutan dan tidak pernah memberitahukan jumlah kekayaannya kepada siapapun. Suatu hari, karena penasaran, istri

saudagar tersebut bertanya kepada saudagar tersebut mengenai jumlah kekayaannya. Mendengar pertanyaan itu, sang saudagar hanya

menjawab, “Jika aku membaginya menjadi 2 bagian tidak sama banyak, selisih banyak koin antardua bagian tersebut dikalikan 42 sama

banyaknya dengan selisih dari (kuadrat banyak koin bagian pertama) dan (kuadrat banyak koin pada bagian kedua).” Berapa banyakkah koin

emas yang dimiliki saudagar tersebut?

a. 9

b. 7

c. 33

d. 6

e. 42

25. Seorang pengemudi mengendarai mobil dari kota A ke kota B, kemudian kembali ke kota A melalui jalur jalan yang persis sama. Perjalanan

dari kota A ke kota B bersifat menanjak dan ditempuh dengan kecepatan 42 km/jam. Sebaliknya, perjalanan dari kota B ke kota A menurun,

sehingga kecepatan yang dicapainya adalah 56 km/jam. Berapakah kecepatan rata-rata pengemudi tersebut untuk keseluruhan perjalanan?

a. 49

b. 48

c. 50

d. 47

e. tidak ada pilihan jawaban lain yang benar

26. “Jarak” antara dua tombol pada tuts telepon adalah jumlah perbedaan posisi kolom dan baris keduanya. Sebagai contoh, “jarak” antara tombol 0

dan 1 adalah 4, karena ada perbedaan 1 kolom dan 3 baris

antara tombol 0 dan 1. Berapakah “jarak” yang tercipta jika

tombol 8654937 ditekan sebanyak 2007 kali berturut-

turut?

a. 26091 b. 27094 c. 28097 d.

29100 e. tidak ada pilihan jawaban lain yang benar

27. Dino berada di sekolah dari jam 06.36 pagi hingga

14.24. Selama berada di sekolah, sepertiga waktunya digunakan

untuk beristirahat. Seperempat dari waktu yang tersisa

digunakan untuk berolahraga. Jika sisa waktunya digunakan

untuk belajar, maka pernyataan manakah yang benar?

a. Dino belajar 156 menit lebih lama dari berolahraga

b. Dino belajar 160 menit lebih lama dari berolahraga

c. Dino belajar 234

menit lebih lama dari berolahraga d. Dino belajar 240 menit lebih lama dari berolahraga

e. tidak ada pilihan jawaban lain yang benar

28. Sebuah fungsi didefinisikan sebagai f(n) = f(n-1).f(n-2) dan selalu bernilai non-negatif. Diketahui f(36) = 7 dan f(39) = 1008. Berapakah nilai

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(29)

dari f(38) – f(37)?

a. 72

b. 84

c. 144

d. tidak dapat ditentukan

e. tidak ada pilihan jawaban lain yang benar

29. Pada suatu waktu ada 5 orang sahabat: Andi, Budi, Ratna, Hendri, dan Tuti. Hendri memiliki uang Rp. 10000, sementara yang lainnya tidak

memiliki uang. Suatu hari, Budi meminjam uang Rp. 9000 dari Hendri dengan bunga 5%. Lalu, Ratna meminjam uang Rp. 8000 dari Budi

dengan bunga 10%. Kemudian, Andi meminjam uang Rp. 4500 dari Ratna dengan bunga 20%. Lalu, Tuti meminjam uang Rp. 4000 dari Andi

dengan bunga 25%. Terakhir, Hendri memberikan uang Rp. 1000 kepada Tuti sebagai hadiah ulang tahun. Setelah semua hutang-hutang dan

bunganya dibayarkan (dengan asumsi tidak ada tambahan pemasukan lain), siapakah yang memiliki uang paling banyak?

a. Andi

b. Budi

c. Ratna

d. Hendri e. Tuti

30. Dari angka 1 hingga 1000 (termasuk 1 dan 1000), ada berapa banyakkah kelipatan 3 yang bukan kelipatan 5?

a. 123

b. 200

c. 267

d. 334

e. tidak ada pilihan jawaban lain yang benar

31. Berapakah nilai rata-rata dari 100000 bilangan bulat positif ganjil pertama?

a. 100000 b. 1000000 c. 10000000

d. 100000000

e. 1000000000

32. Jika digabungkan, seluruh sekolah SMA di kota X memiliki 1.989 unit komputer untuk keperluan berlajar siswa-siswanya, yang mana dari

jumlah tersebut maka rasio jumlah siswa dibandingkan jumlah komputer adalah 68,6. Berapakah kira-kira terdekat jumlah siswa SMA di kota

tersebut? (dalam ribuan)

a. 30

b. 120

c. 140

d. 160

e. 200

33. Jika p adalah sebuah bilangan bulat positif, manakah dari persamaan berikut ini yang mungkin menghasilkan bilangan prima?

a. 8p

b. 8p + 1 c. 8p + 2 d. 8p + 4 e. 8p + 6

34. Sebuah mobil ambulans menempuh jarak 10 km pada kecepatan 50 km/jam, Berapakah kecepatan (dalam km/jam) yang harus dicapai oleh

ambulans tersebut agar total waktu tempuh perjalanan pulang perginya tepat 20 menit?

a. 55

b. 60

c. 65

d. 70

e. 75

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(30)

35. Dua hari terakhir ini, Pak Dengklek membelikan sarapan untuk beberapa orang temannya. Untuk masing-masing temannya, kemarin Pak

Dengklek membelikan sepotong roti dan segelas teh manis di sebuah warung. Karena sarapan kemarin dirasa kurang, hari ini, ia membelikan 3

potong roti dan segelas teh manis di warung yang sama. Jika Pak Dengklek menghabiskan total uang sebesar Rp 5.400 kemarin dan Rp 12.600

hari ini, berapakah uang yang dikeluarkan Parto untuk membayar roti-roti yang dibelinya hari ini? (dengan asumsi harga sepotong roti dan

harga segelas teh manis tidak berubah dalam dua hari ini)

a. Rp 10.800

b. Rp 9.600

c. Rp 7.200

d. Rp 3.600

e. Rp 2.400

SOAL BACAAN 1

Seorang petugas museum merencanakan sebuah pameran patung di sebuah taman. Terdapat tujuh patung yang akan dipamerkan: F, G, H, J, R, S dan U.

Tiga patung akan di pamerkan di taman sebelah selatan dan empat patung akan di pamerkan di taman sebelah utara. Empat dari patung-patung tersebut

– F, G, H, J – terbuat dari baja sedangkan tiga patung lainnya – R, S, U – terbuat dari perunggu. Petugas museum tersebut akan menyusun

patung-patung tersebut dengan beberapa aturan berikut ini:

Masing-masing taman harus terdapat paling banyak 2 patung perunggu

G tidak dapat berada di sisi taman yang sama dengan U

H tidak dapat berada di sisi taman yang sama dengan R

36. Manakah dari kelompok berikut ini yang dapat diletakkan di taman sebelah utara?

a. F, G, H dan U

b. F, H, S dan U

c. G, H, R dan U

d. G, J, R dan U

e. J, R, S dan U

37. Jika U dan R ditempatkan di taman sebelah utara, manakah kelompok patung berikut ini yang seharusnya berada di taman sebelah selatan?

a. F, G dan H

b. F, J dan S

c. G, H dan S

d. G, H dan U

e. H, S dan U

38. Jika S dan U ditempatkan di taman sebelah selatan, masing-masing patung berikut ini harus diletakkan di taman sebelah utara, KECUALI :

a. F

b. G

c. H

d. J

e. R

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(31)

39. Jika S dan R diletakkan di taman sebelah selatan, manakah dari patung-patung berikut ini yang juga ditempatkan di taman yang sama?

a. F

b. G

c. H

d. J

e. U

40. Jika G dan H diletakkan di taman sebelah selatan, manakah diantara patung-patung berikut ini yang harus juga berada di taman yang sama?

a. F

b. J

c. R

d. S

e. U

41. Jika F dan G diletakkan di taman sebelah utara, manakah diantara kelompok patung-patung ini yang dapat diletakkan di taman sebelah selatan ?

a. H, J dan S

b. H, J dan U

c. H, R, dan U

d. J, S dan U

e. R, S dan U

SOAL BACAAN 2

Terdapat 6 buah tiang kayu – P, Q, R, S, T dan U - yang masing-masing diletakkan ke dalam lubang-lubang yang berbeda. Terdapat 7 lubang yang telah

disiapkan dan masing-masing diberi nomer berurutan dari kiri ke kanan, lubang-lubang tersebut dibuat sejajar lurus dan diberi jarak yang sama di

masing-masing lubang. Penempatan tiang-tiang tersebut harus mengikuti beberapa kondisi berikut ini:

Jarak yang memisahkan antara tiang P dan Q harus sama dengan jarak yang memisahkan R dan S

T harus berada di lubang yang berdampingan setelah lubang dimana U ditempatkan

Lubang yang paling kiri harus terisi (tidak dapat dibiarkan kosong)

42. Jika U ada di lubang nomer 2, manakah pernyataan yang benar?

a. P berada di lubang nomer 3

b. Q berada di lubang nomer 4

c. R berada di lubang nomer 5

d. S berada di lubang nomer

7

e. T berada di lubang nomer 1

43. Jika U, P dan R berada di lubang nomer 5, 6, dan 7 berturut-turut, manakah pernyataan yang benar?

a. S berada di lubang nomer 1

b. S berada di lubang nomer 2

c. Q berada di lubang nomer 2

d. Q berada di lubang nomer

2

e. Lubang nomer 2 adalah lubang kosong

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(32)

44. Jika P dan R berada di lubang 1 dan 3 berurutan, lubang yang mungkin akan menjadi kosong adalah salah satu dari:

a. 2 atau 4 b. 2 atau 6 c. 4 atau 5 d. 5 atau 7 e. 6 atau 7

45. Jika P dan Q berada di lubang 2 dan 4 berurutan, manakah pernyataan yang benar?

a. R berada di lubang nomer 3

b. R berada di lubang nomer 5

c. S berada di lubang nomer 6

d. U berada di lubang nomer

1

e. Lubang nomer 6 adalah lubang kosong

SOAL ALGORITMIK 1

Ada sebuah alat gambar sederhana yang hanya bisa menggambar garis lurus pada sebuah bidang Cartesius. Alat ini diberi input berupa 2 bilangan: x y.

-

x artinya alat berputar x*90

0

ke kanan

-

y artinya alat bergerak maju y kotak

-

pada awalnya alat ini menghadap sumbu y-positif

Contoh pemakaian alat:

1. Jika dimasukkan: 0 10

maka alat akan berputar 0*900 ke kanan dan bergerak maju 10 kotak sehingga muncul garis vertikal sepanjang 10 satuan. Jika ditambah lagi:

1 10 {berputar 1*900 ke kanan dan maju 10 kotak} 1 10

1 10

maka akan tergambar sebuah persegi dengan panjang sisi 10

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(33)

2. Jika dimasukkan:

0 5 {berputar 0*900 ke kanan dan maju 5 kotak} 1 2 {berputar 1*900 ke kanan dan maju 2 kotak} 1 4 {berputar 1*900 ke kanan dan maju 4 kotak} 3 2 {berputar 3*900 ke kanan dan maju 2 kotak} 1 1 {berputar 1*900 ke kanan dan maju 1 kotak} 1 4 {berputar 1*900 ke kanan dan maju 4 kotak} maka akan tergambar bentuk:

dengan penjelasan:

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(34)

46. Apa gambar yang dihasilkan oleh mesin gambar ini jika diberi masukan:

4 2 8 3 10 5

7 4

a.

b.

c.

d.

e. tidak ada pilihan jawaban lain yang benar

47. Manakah masukan yang menghasilkan gambar

?

a.

1 3

b.

8 3

c.

3 3

d.

0 7

e. tidak ada pilihan jawaban lain yang benar

5 3

1 3

7 4

1 3

10 6

1 6

3 5

5 3

7 3

9 3

3 6

1 4

3 6

1 3

7 5

3 4

3 3

5 4

3 2

7 3

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(35)

SOAL ALGORITMIK 2

Ada sebuah alat yang dapat mengendalikan 4 buah wadah air:

-

Wadah 1 berukuran 4 liter

-

Wadah 2 berukuran 7 liter

-

Wadah 3 berukuran 13 liter

-

Wadah 4 berukuran 19 liter

{pada awalnya, semua wadah air kosong}

Alat ini dapat diberi input:

isi x

{perintah ini untuk mengisi wadah x sampai penuh}

tuang x y

{perintah ini untuk menuangkan isi wadah x ke wadah y, jika wadah y sudah penuh maka penuangan dihentikan}

tumpah x y

{perintah ini untuk menuangkan isi wadah x ke wadah y, walaupun wadah y sudah penuh penuangan tetap diteruskan sampai isi wadah x habis

(sisanya tumpah)}

buang x

{perintah ini untuk mengosongkan isi wadah x}

Contoh pemakaian:

isi 4

{maka wadah 4 berisi penuh 19 L}

tuang 4 3 {maka wadah 3 berisi penuh 13 L dan wadah 4 sisa 6 L}

tumpah 3 1

{maka wadah 1 berisi penuh 4 L dan wadah 3 kosong}

buang 2

{karena wadah 2 memang kosong sejak awal, tidak terjadi perubahan apa-apa}

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(36)

{keadaan akhir: - wadah 1: 4 L

- wadah 2: 0 L

- wadah 3: 0 L

- wadah 4: 6 L}

48. Manakah deretan input yang menghasilkan 9 L air pada wadah 4?

a.

isi 3

b.

isi 3

c.

isi 2

tuang 3 2

tuang 3 1

tuang 2 4

tumpah 3 4

tumpah 3 4

tambah 2 4

d. ada lebih dari satu deretan input yang benar

e. tidak ada pilihan jawaban lain yang benar

49. Berapa input minimal yang diperlukan untuk menghasilkan 5 L air pada wadah 4?

a. 3

b. 4

c. 5

d. 6

e. tidak ada pilihan jawaban lain yang benar

SOAL ALGORITMIK 3

50. Var matriks : array[1..10, 1..10] of integer

Bayangkan kita memiliki sebuah array 2 dimensi seperti deklarasi diatas. Kita ingin mengisi salah satu nilai dalam matriks tersebut. Kita baca x

dan y sebagai posisi elemen matriks yang akan diisikan, kemudian kita baca nilai yang akan diisikan ke dalam matriks[x,y] tersebut.

Pengecekan manakah yang paling tepat untuk mencegah agar posisi yang akan kita isikan tidak berada di luar jangkauan?

a. if (x>0) or (y>0) and (x<=10) or (y<=10) then ...

b. if (x>0) and (y>0) or (x<=10) and (y<=10) then ...

c. if not((x<0) or (y<0) or (x>10) or (y>10)) then ...

d. if (x>0) and (y>0) and not(x<11) and not(y<11) then ...

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(37)

e. if not((x<1) or (x>10)) and not((y<1) or (y>10)) then ...

SOAL ALGORITMIK 4

Perhatikan sub program berikut:

51. Dari pemanggilan dibawah ini, manakah yang bernilai FALSE?

a. topSecret(1,2,3)

b. topSecret(2,6,2)

c. topSecret(4,8,8)

d. topSecret(6,5,4)

e. topSecret(7,9,5)

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(38)

52. Dari pemanggilan dibawah ini, manakah yang bernilai TRUE?

a. topSecret(77,35,59)

b. topSecret(61,82,93)

c. topSecret(54,20,11)

d. topSecret(44,43,72)

e. topSecret(25,18,36)

SOAL ALGORITMIK 5

Perhatikan potongan program di bawah ini!

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(39)

53. Jika kita memasukkan bilangan 5 3 8 1 6 sebagai pengisi a, b, c, d dan e, maka apakah keluaran potongan program di atas?

a. -2 3 8 4 1

b. 0 3 8 4 1

c. 3 -3 -2 8 0

d. 3 3 -2 4 0

e. 5 3 8 16 0

SOAL ALGORITMIK 5

Perhatikan potongan program di bawah ini!

54. Jika di akhir, dituliskan writeln(data[2,2]); apakah keluaran program tersebut?

a. 1

b. 2

c. 4

d. 7

e. 11

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(40)

55. Berapakah nilai akhir data[5,5]?

a. 10

b. 16

c. 23

d. 24

e. 45

CADANGAN

56. Berapakah digit terakhir dari hasil perkalian 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1?

a. 0

b. 2

c. 4

d. 6

e. 8

57. Berapakah hasil penjumlahan 200 + 201 + 202 + ... + 800?

a. 300000 b. 300500 c. 301500 d. 302000 e.302500

58. Apakah digit terakhir dari perhitungan

?

a. 1

b. 3

c. 5

d. 7

e. 9

59. Jika bilangan x habis dibagi 7 dan bilangan y habis dibagi 21, pernyataan-pernyataan manakah yang benar?

I. x dan y kemungkinan adalah bilangan yang sama

II. y-x akan berupa bilangan non-negatif

III. Faktor persekutuan terbesar dari x dan y adalah 7

a. I dan II b. I dan III c. II dan III d. I, II, dan III

e. tidak ada pilihan jawaban lain yang benar

Olimpiade Sains Nasional VI Soal Aritmetika / Analitika / Logika

(41)

Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama

1. Si Ganesh diberi PR oleh gurunya untuk menulis lirik lagu “Anak Ayam” (ini lagu kolaborasi antara seni dan matematika). Namun, karena ini juga sekaligus hukuman, dia harus menulis lirik lagu “Anak Ayam Turun 100000”. Marilah kita bantu Si Ganesh menyelesaikan PR-nya ini. Buatlah sebuah program yang menerima sebuah bilangan N (1 <= N <= 100000) lalu menuliskan lirik “Anak Ayam Turun N” di layar.

Contoh Masukan:

10

Contoh Keluaran:

Anak ayam turun 10, mati 1 tinggal 9. Anak ayam turun 9, mati 1 tinggal 8. Anak ayam turun 8, mati 1 tinggal 7. Anak ayam turun 7, mati 1 tinggal 6. Anak ayam turun 6, mati 1 tinggal 5. Anak ayam turun 5, mati 1 tinggal 4. Anak ayam turun 4, mati 1 tinggal 3. Anak ayam turun 3, mati 1 tinggal 2. Anak ayam turun 2, mati 1 tinggal 1.

Anak ayam turun 1, mati 1 tinggal induknya.

Catatan:

Perhatikan pemakaian tanda bacanya (titik dan koma).

2. Buatlah sebuah program yang menerima masukan sebuah bilangan bulat N (N <= 180). Keluaran program adalah sebuah tabel perkalian dengan ukuran N x N. Baris ke-i kolom ke-j pada output merupakan hasil perkalian dari i dan j. Apabila bilangan masukan adalah nol atau bernilai negatif, program tidak mengeluarkan apa-apa. Contoh Masukan: 4 Contoh Keluaran: 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16 Catatan:

Perhatikan dalam setiap baris satu bilangan dengan bilangan lain hanya dipisahkan 1 (satu) spasi.

(42)

Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama

3. Di dalam pelatihan militer terdapat sebuah sandi yang menggeser semua huruf dalam alfabet sebanyak dua langkah ke kanan, contoh: 'AKU ANAK TOKI' jika di-kode-kan menjadi 'CMW CPCM VQMK'. Huruf Y dan Z masing-masing di-kode-kan menjadi A dan B. Buatlah program untuk mengembalikan kalimat yang sudah ter-kode-kan ke dalam bentuk asalnya.

Contoh Masukan:

CMW CPCM VQMK

Contoh Keluaran :

AKU ANAK TOKI

Catatan:

Semua input dipastikan dalam huruf besar (uppercase) dan panjangnya tidak lebih dari 255 karakter.

4. Buatlah sebuah program yang menerima masukn sebuah bilangan bulat (dipastikan berada dalam batasan tipe data integer), dan mengeluarkan pola bintang dan spasi seperti pada contoh berikut.

Contoh Masukan: 5 Contoh Keluaran: *...* **...** ***....*** ****..**** ********** Contoh Masukan: 10 Contoh Keluaran: *...* **...** ***...*** ****...**** *****...***** ******...****** *******...******* ********....******** *********..********* ******************** Page 2 of 5

(43)

Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama

5. Buatlah sebuah program untuk menjumlahkan dua buah matriks. Baris pertama pada masukan berisi 2 bilangan bulat, M dan N (2 <= M,N <= 100), merupakan ukuran baris dan kolom matriks. Baris 2 sampai m + 1 berisi n buah bilangan bulat (dalam batasan tipe data integer), masing-masing merupakan elemen dari matriks pertama. Baris m + 2 sampai 2m + 1 berisi n buah bilangan bulat (dalam batasan tipe data integer), masing-masing merupakan elemen dari matriks kedua. Keluaran dari program ini adalah matriks yang merupakan hasil penjumlahan kedua matriks masukan.

Contoh Masukan: 3 3 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 Contoh Keluaran: 2 6 10 6 10 14 10 14 18 Penjelasan Contoh:

matriks berukuran 3 × 3, dengan matriks pertama:

          9 8 7 6 5 4 3 2 1

dan matriks kedua:

          9 6 3 8 5 2 7 4 1

matriks hasil penjumlahan:

          =           + + + + + + + + + 18 14 10 14 10 6 10 6 2 9 9 6 8 3 7 8 6 5 5 2 4 7 3 4 2 1 1 Page 3 of 5

(44)

Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama

6. Buatlah sebuah program yang menerima masukan sebuah bilangan bulat (1..9), dan mengeluarkan pola seperti pada contoh berikut.

Contoh Masukan: 5 Contoh Keluaran: ....9.... ....8.... ....7.... ....6.... 123456789 ....4.... ....3.... ....2.... ....1.... Contoh Masukan: 3 Contoh Keluaran: ..9... ..8... ..7... ..6... ..5... ..4... 123456789 ..2... ..1... Page 4 of 5

(45)

Olimpiade Sains Nasional VI Soal Pemrograman Hari Pertama

7. Buatlah program yang menghitung jumlah kemunculan huruf pada suatu kalimat. Baris pertama pada masukan berisi bilangan bulat m (1 <= m <= 10000) dan karakter c, dengan m menyatakan jumlah huruf pada kalimat masukan dan c yang menyatakan karakter yang akan dicari jumlah kemunculannya. Baris kedua berisi m karakter yang telah didefinisikan sebelumnya. Keluaran berupa jumlah kemunculan karakter c. Huruf besar dan huruf kecil dianggap sama.

Contoh Masukan:

20 a

Aku seorang kapiten.

Contoh Masukan:

3

8. Buatlah sebuah program untuk mengubah suatu pecahan menjadi bentuk pecahan campuran-tersederhana. Sebagai contoh, 10/4 akan diubah menjadi 2 1/2, 6/9 menjadi 2/3. Contoh Masukan: 10/4 Contoh Keluaran: 2 1/2 Contoh Masukan: 6/9 Contoh Keluaran: 2/3 Page 5 of 5

(46)

Olimpiade Sains Nasional VI Bidang Informatika

Page 1 of 8

TINGGI KANDANG SUSUN

Kode Soal : SUSUN.PAS Batas Run-time : 1 detik / testcase

Batas Memori : 32 MB

Masukan : Standard Input Keluaran : Standard Output

Selain bebek, Pak Dengklek berkeinginan memelihara kucing dan karena itu ia bermaksud membangun kandang untuk kucing-kucingnya. Harga tanah kini sangat mahal, Pak Dengklek tidak memiliki lahan yang cukup luas untuk membangun kandang berlantai satu, maka kandang susunlah solusi untuk tempat tidur N kucingnya (1 <= N <= 1000000). Namun dalam kasus ini, justru yang kita pedulikan adalah total tinggi dari kandang susun tersebut, bukan luasnya. Sekedar informasi, kucing-kucing Pak Dengklek adalah hewan yang rewel, mereka tidak ingin tempat tinggalnya lebih rendah dari batas yang sudah mereka tentukan. Untuk tiap lantai kandang, Pak Dengklek hanya dapat memasukkan K (1 <= K <= 1000000) kucing secara berurutan, sehingga kucing 1 sampai K pasti akan berada di lantai pertama, kucing ke K+1 sampai 2K pasti akan berada di lantai kedua, dan seterusnya. Agar semua kucing senang, tinggi setiap lantai haruslah nilai maksimal dari batas yang ditentukan oleh kucing-kucing yang ada dalam lantai tersebut. Tugas Anda kini adalah mencari berapa total tinggi dari kandang susun yang akan dibangun Pak Dengklek. Perlu diingat untuk alas dan atap dibutuhkan papan setebal 1 sentimeter, di antara kedua lantai pun ada sekat setebal 1 sentimeter dan tebal-tebal itu harus diperhitungkan juga dalam menentukan total tinggi kandang.

Format Masukan

Baris pertama berisi dua buah bilangan bulat N dan K. Baris ke-2 sampai ke N+1 masing-masing berisi sebuah bilangan Ti yang merupakan batas tinggi yang diinginkan oleh kucing ke-i (dalam sentimeter).

Format Keluaran

Sebuah bilangan bulat yang menunjukkan total tinggi kandang susun yang akan Pak Dengklek bangun (dalam sentimeter).

Contoh Masukan 1 5 3 30 20 15 19 29 Contoh Keluaran 1 62

(47)

Olimpiade Sains Nasional VI Bidang Informatika Page 2 of 8 Contoh Masukan 2 2 2 2 2 Contoh Keluaran 2 4 Penjelasan Contoh 1

Total tinggi = 62 = 30 + 29 + 1 (alas) + 1 (atap) + 1 (sekat lantai 1 dan lantai 2)

(48)

Olimpiade Sains Nasional VI Bidang Informatika

Page 3 of 8

MENGHITUNG RUANG TERTUTUP

Kode Soal : RUANG.PAS Batas Run-time : 1 detik / testcase

Batas Memori : 32 MB

Masukan : Standard Input Keluaran : Standard Output

Pada suatu hari yang indah, Pak Dengklek bermain-main dengan komputernya. Dia berusaha menggambar sesuatu menggunakan karakter-karakter yang tersedia di keyboard. Setelah lama bermain-main, Pak Dengklek tertarik dengan karakter slash "/", karakter backslash "\", dan karakter period "." pada keyboard, karena dengan karakter-karakter itu dia dapat membuat gambar abstrak seperti gambar berukuran 5 x 5 di bawah ini: ./\.. .\/\. .///. ///./ \/./.

Pak Dengklek memiliki kreativitas yang besar. Dari gambar-gambar abstrak yang dibuatnya, dia ingin mengetahui ada berapa ruang tertutup yang dihasilkan oleh gambarnya. Ruang tertutup adalah ruang yang seluruhnya dibatasi oleh dinding. Karakter slash "/" dan backslash "\" berfungsi sebagai dinding. Anggaplah karakter "/" pada suatu kotak tepat menghubungkan titik sudut kanan atas dan kiri bawah kotak itu, dan karakter "\" pada suatu kotak tepat menghubungkan titik sudut kiri atas dan kanan bawah kotak itu. Sedangkan karakter "." mewakili ruang kosong, walaupun tidak semua ruang kosong ditandai dengan karakter ".".

Untuk lebih jelasnya, gambar abstrak di atas dapat diterjemahkan menjadi gambar di bawah ini:

Perhatikan bahwa ruang yang dibatasi dengan garis merah dan garis biru merupakan dua ruang tertutup yang dimaksud. Catatan: ruang yang ditandai dengan X bukan ruang tertutup, karena ruang itu tidak seluruhnya dibatasi oleh dinding (sisi kanan dan sisi bawah terbuka).

(49)

Olimpiade Sains Nasional VI Bidang Informatika

Page 4 of 8

Format Masukan

Baris pertama berisi bilangan bulat N dan M (1 <= N, M <= 250) yang merupakan tinggi dan lebar gambar. N baris berikutnya masing-masing memiliki panjang M karakter dan berisi gambar abstrak yang dibuat oleh Pak Dengklek. Gambar abstrak ini hanya terdiri atas karakter "/", "\", dan "." saja.

Format Keluaran

Baris pertama berisi sebuah bilangan bulat yang merupakan jumlah ruang tertutup pada gambar abstrak pada masukan.

Contoh Masukan 1 5 5 ./\.. .\/\. .///. ///./ \/./. Contoh Keluaran 1 2 Contoh Masukan 2 5 6 ../\.. .//\\. .\\.\\ ..\\// ...\/. Contoh Keluaran 2 2 Contoh Masukan 3 4 4 \../ .\/. ./\. /..\ Contoh Keluaran 3 0

(50)

Olimpiade Sains Nasional VI Bidang Informatika

Page 5 of 8

PEMBERAT

Kode Soal : PEMBERAT.PAS Batas Run-Time : 0,1 detik / testcase

Batas Memori : 1 MB

Masukan : Standard Input Keluaran : Standard Output

Setelah membeli beberapa ekor kucing, kini Pak Dengklek memiliki dua jenis binatang di kebun belakang rumahnya. Kucing dan bebek tentunya. Di belakang rumahnya tersebut, Pak Dengklek juga memiliki sebuah jungkat-jungkit untuk kucing dan bebeknya bermain. Agar tidak dinilai pilih kasih, untuk setiap kali permainan jungkat-jungkit, Pak Dengklek selalu mengatur sedemikian rupa sehingga di satu sisi pastilah seekor bebek dan di sisi lainnya pastilah seekor kucing. Sayangnya semua kucing Pak Dengklek gemuk-gemuk sehingga berat kucing terkurus Pak Dengklek pun tetap lebih besar dari berat bebek tergemuk. Oleh karena itu jungkat-jungkit Pak Dengklek sering kali lebih berat ke sisi di mana kucing berada dan permainan pun tidak berjalan dengan mengasyikan. Untuk mengatasi masalah ini, dasar Pak Dengklek yang banyak akalnya, ia menggunakan beberapa pemberat di sisi bebek berada, sedemikian sehingga berat satu sisi dan lainnya kini sama. Sayangnya Pak Dengklek tidak memiliki pemberat dalam setiap ukuran, Pak Dengklek hanya memiliki pemberat dengan ukuran 2^K dimana 0 <= K <= 60. Dan Pak Dengklek hanya memiliki satu buah pemberat untuk setiap ukuran tersebut. Nah, tugas kalian adalah membantu Pak Dengklek untuk menentukan pemberat mana saja yang harus ia gunakan. Asumsikan bahwa input selalu valid dan selalu ada solusi akan input yang diberikan.

Format Masukan

Baris pertama berisi sebuah bilangan bulat yang menunjukkan berat bebek yang akan bermain. Baris kedua berisi sebuah bilangan bulat yang menunjukkan berat kucing yang akan bermain. 1 <= berat bebek, berat kucing <= 2^61.

Format Keluaran

Beberapa baris dengan satu bilangan bulat setiap barisnya yang merupakan berat dari masing-masing pemberat yang digunakan Pak Dengklek. Keluaran ini diatur dalam keadaan terurut mengecil.

Contoh Masukan 1 1 6 Contoh Keluaran 1 4 1

(51)

Olimpiade Sains Nasional VI Bidang Informatika Page 6 of 8 Contoh Masukan 2 10 101 Contoh Keluaran 2 64 16 8 2 1

(52)

Olimpiade Sains Nasional VI Bidang Informatika

Page 7 of 8

PERMUTASI EKSPRESI

Kode Soal: PERMUT.PAS Batas Run-time: 0.5 detik / testcase

Batas Memori: 32 MB

Masukan: Standard Input Keluaran: Standard Output

Anda akan diberikan sebuah angka yang panjangnya maksimal 12 digit dan minimal 2 digit. Misalkan Anda diberikan angka 111. Angka tersebut tidak terlalu menarik bukan? Mari kita membuat hal yang lebih menarik dengan menyelipkan tanda '+' atau '-' di antara angka-angka tersebut. Jika Anda menyelipkan tanda '+' di antara setiap dua angka, Anda akan mendapatkan 1+1+1 = 3. Jika Anda menyelipkan tanda '-' di antara setiap dua angka, Anda akan mendapatkan 1-1-1 = -1. Hal yang menarik adalah Anda dapat membuat berbagai ekspresi dari angka 111 ini yang memiliki hasil ekspresi yang berbeda-beda. Untuk setiap dua angka yang bersebelahan, Anda dapat memilih untuk menyelipkan tanda '+', tanda '-', atau tidak menyelipkan apa-apa. Jika anda memilih untuk tidak menyelipkan apa-apa, Anda akan mendapatkan 111 = 111.

Format Masukan

Baris pertama berisi sebuah bilangan bulat N yang panjangnya maksimal 12 digit dan minimal 2 digit. Bilangan bulat ini selalu diawali dengan digit positif.

Format Keluaran

Baris pertama berisi sebuah bilangan bulat, yang merupakan banyaknya kemungkinan hasil ekspresi yang dapat dibuat dari bilangan N pada masukan.

Contoh Masukan 1 111 Contoh Keluaran 1 7 Contoh Masukan 2 101 Contoh Keluaran 2 5

(53)

Olimpiade Sains Nasional VI Bidang Informatika

Page 8 of 8

Penjelasan Contoh 1

Tujuh hasil ekspresi yang dimaksud pada contoh keluaran 1 adalah 111 = 111 11+1 = 1+11 = 12 11-1 = 10 1+1+1 = 3 1+1-1 = 1-1+1 = 1 1-1-1 = -1 1-11 = -10 Penjelasan Contoh 2

Lima hasil ekspresi yang dimaksud pada contoh keluaran 2 adalah 101 = 101

10+1 = 11 10-1 = 9 1+0+1 = 1-0+1 = 1+01 = 2 1+0-1 = 1-0-1 = 1-01 = 0

(54)

SOAL SESI 1

OLIMPIADE SAINS NASIONAL VII

BIDANG INFORMATIKA

10 AGUSTUS 2008

MAKASSAR, SULAWESI SELATAN

Gambar

Gambar 1. Terjemahan Sandi Angka Ayam
Gambar  di  atas  sekedar  ilustrasi  untuk  contoh  kasus,  total  panjang  kain  terpal  yang  harus  dibeli  adalah  102.258.  

Referensi

Dokumen terkait

13.Foreign Exchange Rate Determination and Forecasting 14.Operating Exposure Akuntansi Akuntansi Manajemen Lanjutan Sistem Informasi Sistem Informasi dan Pengendalian

Parameter yang diamati dalam penelitian ini adalah: kebutuhan air irigasi, efisiensi relatif, jumlah anakan berbuah, panjang malai, jumlah biji padi per malai, berat gabah

a) Aplikasi metode MRP memberikan besar cumulative material investment yang lebih rendah daripada pengeluaran PT. JHS Pilling System, sehingga investasi untuk pengadaan

Dari beberapa definisi yang dikemukakan oleh para ahli di atas mengenai mutu (kualitas) maka dapat disimpulkan bahwa mutu (kualitas)adalah kesesuaian produk dan jasa yang

Keunggulan laporan standar kualitas interim yaitu perusahaan dapat memantau biaya kualitas sesungguhnya yang telah dikeluarkan, dibandingkan dengan standar biaya kualitas

Tunas Harapan adalah pola inti plasma, dimana perusahaan sebagai inti dan peternak sebagai plasma; (2) Hak dari inti adalah mendapat seluruh hasil produksi

nyata terhadap pH awal larutan holding dan total larutan holding terserap. Interaksi antara kosentrasi pulsing dengan holding menunjukkan pengaruh yang tidak

Kesimpulan dari penelitian ini adalah pembelajran menggunakan model pembelajaran Numbered Heads Together (NHT) dapat meningkatkan hasil belajar IPA pada materi daur