Jehan mempunyai tugas beternak amuba. Menurut informasi gurunya, jenis amuba ini akan
melahirkan 1 amuba baru per menit setelah menit ke-4 sejak dilahirkan. jenis amuba ini akan
melahirkan satu amuba baru. Mula-mula gurunya memberikan 6 amuba yang baru dilahirkan dan
menginstruksikan Jehan untuk mengamati pertumbuhan amuba per menit selama 1 jam sejak 6
amuba itu diberikan. Perkembangan amuba seterusnya diilustrasikan pada gambar berikut ini.
Berapakah jumlah amuba pada menit ke-60 sejak 6 amuba pertama mulai hidup jika tidak ada amuba
yang mati?
a. 595038720
b. 595038722
c. 595038725
d. 595038726
e. 595038728
TOKI 2012, IF ITB 2012. http://olimpiadeinformatika.com
Soal ini akan diselesaikan dengan Dynamic Programming.
Misalkan f(n) adalah banyaknya amuba pada menit ke-n.
Kita tahu, banyaknya amuba pada menit ke-n adalah banyaknya amuba pada menit sebelumnya (n-1) ditambah banyaknya amuba baru. Dimana amuba baru dilahirkan oleh amuba yang telah berumur minimal 4 menit. Amuba yang berumur minimal 4 menit adalah amuba yang pada menit ke(n-4) ia telah ada, banyaknya ada f(n-4). Dari sana didapatkan relasi rekursi f(n) = f(n-1) + f(n-4)
f(1) = 6
f(2) = 6
f(3) = 6
f(4) = 6
f(5) = f(4) + f(1) = 6 + 6 = 12
f(6) = f(5) + f(2) = 12 + 6 = 18
f(7) = f(6) + f(3) = 18 + 6 = 24
f(8) = f(7) + f(4) = 24 + 6 = 30
f(9) = f(8) + f(5) = 30 + 12 = 42
f(10) = f(9) + f(6) = 42 + 18 = 60
f(11) = f(10) + f(7) = 60 + 24 = 84
f(12) = f(11) + f(8) = 84 + 30 = 114
f(13) = f(12) + f(9) = 114 + 42 = 156
f(14) = f(13) + f(10) = 156 + 60 = 216
f(15) = f(14) + f(11) = 216 + 84 = 300
f(16) = f(15) + f(12) = 300 + 114 = 414
f(17) = f(16) + f(13) = 414 + 156 = 570
f(18) = f(17) + f(14) = 570 + 216 = 786
f(19) = f(18) + f(15) = 786 + 300 = 1086
f(20) = f(19) + f(16) = 1086 + 414 = 1500
f(21) = f(20) + f(17) = 1500 + 570 = 2070
f(22) = f(21) + f(18) = 2070 + 786 = 2856
f(23) = f(22) + f(19) = 2856 + 1086 = 3942
f(24) = f(23) + f(20) = 3942 + 1500 = 5442
f(25) = f(24) + f(21) = 5442 + 2070 = 7512
f(26) = f(25) + f(22) = 7512 + 2856 = 10368
f(27) = f(26) + f(23) = 10368 + 3942 = 14310
f(28) = f(27) + f(24) = 14310 + 5442 = 19752
f(29) = f(28) + f(25) = 19752 + 7512 = 27264
f(30) = f(29) + f(26) = 27264 + 10368 = 37632
f(31) = f(30) + f(27) = 37632 + 14310 = 51942
f(32) = f(31) + f(28) = 51942 + 19752 = 71694
f(33) = f(32) + f(29) = 71694 + 27264 = 98958
f(34) = f(33) + f(30) = 98958 + 37632 = 136590
f(35) = f(34) + f(31) = 136590 + 51942 = 188532
f(36) = f(35) + f(32) = 188532 + 71694 = 260226
f(37) = f(36) + f(33) = 260226 + 98958 = 359184
f(38) = f(37) + f(34) = 359184 + 136590 = 495774
f(39) = f(38) + f(35) = 495774 + 188532 = 684306
f(40) = f(39) + f(36) = 684306 + 260226 = 944532
f(41) = f(40) + f(37) = 944532 + 359184 = 1303716
f(42) = f(41) + f(38) = 1303716 + 495774 = 1799490
f(43) = f(42) + f(39) = 1799490 + 684306 = 2483796
f(44) = f(43) + f(40) = 2483796 + 944532 = 3428328
f(45) = f(44) + f(41) = 3428328 + 1303716 = 4732044
f(46) = f(45) + f(42) = 4732044 + 1799490 = 6531534
f(47) = f(46) + f(43) = 6531534 + 2483796 = 9015330
f(48) = f(47) + f(44) = 9015330 + 3428328 = 12443658
f(49) = f(48) + f(45) = 12443658 + 4732044 = 17175702
f(50) = f(49) + f(46) = 17175702 + 6531534 = 23707236
f(51) = f(50) + f(47) = 23707236 + 9015330 = 32722566
f(52) = f(51) + f(48) = 32722566 + 12443658 = 45166224
f(53) = f(52) + f(49) = 45166224 + 17175702 = 62341926
f(54) = f(53) + f(50) = 62341926 + 23707236 = 86049162
f(55) = f(54) + f(51) = 86049162 + 32722566 = 118771728
f(56) = f(55) + f(52) = 118771728 + 45166224 = 163937952
f(57) = f(56) + f(53) = 163937952 + 62341926 = 226279878
f(58) = f(57) + f(54) = 226279878 + 86049162 = 312329040
f(59) = f(58) + f(55) = 312329040 + 118771728 = 431100768
f(60) = f(59) + f(56) = 431100768 + 163937952 = 595038720
Jawaban : A
Masuk untuk menulis jawaban
tapi kan dipilihannya cuma beda satuan, jadi juga bisa hitung angka belakangnya aja
TOKI 2012, IF ITB 2012. http://olimpiadeinformatika.com
@.Ikhsan : Good point. Benar, hitung aja satuannya (mod 10)
kakk..plis jelasin itu apa?ga ngerti kak:( pusing aku tuh liatnya
plis jelasin lbh ringkas
Pernah Jago OSK
kalo diliat dari opsi yang C ga mungkin, karena itu kelipatan 5. Jadi tinggal A,B,D dan E
kan ada 6 amoeba, yang berkembang setiap 4 menit pertama, dan akan berkembang setiap menit berikutnya, baru yang ditanya 60 menit kemudian.
karna dia baru membelah pada menit ke 4, maka 60 : 4 = 15.
lalu jumlahnya 15x6 = 90, digit terakhir adalah 0,
JADI A.
maaf ini pemikiran logika saya saat pertama kali mengerjakan soal ini, kurasa ini kebetulan
15x6= 90 bos bukan 30
Belajar itu bukan tentang quality tapi quantity
21). Dapat di selesaikan dengan Dynamic Programming sederhana 1 dimensi, sederhana saja : hitung pola sampai bertemu base case dari soal
6,6,6,6,12,18,24,30,42,60,...(dll)
dari pola di atas setiap amuba ke n akan di tambah amuba ke n - 4 maka rumus rekursif yang dapat di buat adalah;
f(n) = f(n-1) + f(n-4)
Hitung dengan konsep mod 10 ( untuk pembuktian bisa hitung sendiri --" ) maka hasilnya akhirnya
f(60) = ( f(59) + f(56) ) mod 10
f(60) = 0
maka jawabannya adalah A
Soal ini pakai dynamic programming :
f(n) = f(n-1) + f(n-4)
karena yang ditanya f(60), akan sangat memakan waktu, maka kita hanya perlu menghitung digit terakhirnya saja.
f(5) = 12 mod 10 = 2
f(6) = 18 -> 8
f(7) = 24 -> 4
f(8) = 30 -> 0
f(9) = 42 -> 2
karena berulang setiap 4 kali, maka 60-(4 menit pertama) mod 4 = 0
karena tidak ada sisa, maka digit terakhirnya adalah 0
maka jawabannya -> (A)
Nice
Iri?? Bilang Boss
Soal ini akan diselesaikan dengan Dynamic Programming.
Misalkan f(n) adalah banyaknya amuba pada menit ke-n.
Kita tahu, banyaknya amuba pada menit ke-n adalah banyaknya amuba pada menit sebelumnya (n-1) ditambah banyaknya amuba baru. Dimana amuba baru dilahirkan oleh amuba yang telah berumur minimal 4 menit. Amuba yang berumur minimal 4 menit adalah amuba yang pada menit ke(n-4) ia telah ada, banyaknya ada f(n-4). Dari sana didapatkan relasi rekursi f(n) = f(n-1) + f(n-4)
f(60) = f(59) + f(56) = 431100768 + 163937952 = 595038720
Jawaban : A
karena di pilihannya hanya beda satuan, dan untuk setiap menit jumlah amoeba selalu habis dibagi 6. soal dapat diselesaikan dengan menguji setiap opsi dengan teori keterbagian.
dari seluruh opsi, bilangan genap dan dapat dibagi 3 hanya opsi (A). CMIIW :)
TOKI 2012, IF ITB 2012. http://olimpiadeinformatika.com
@Dafri : Yg D bukannya juga genap dan habis dibagi 3 :)
Matematikawan
Ini soal emang time waster ya?.-.