OSP 2012

  1. Dengan menggunakan hanya simbol 0, 1 dan 2, kita ingin membentuk string sedemikian rupa hingga selisih antara satu simbol dengan simbol di sebelahnya tidak lebih dari satu. Sebagai contoh, kita dapat membentuk string 011221 dan 2211010, tetapi tidak boleh membentuk string 102. Berapakah banyaknya string seperti ini yang panjangnya tepat 10 simbol?

    Jika panjang simbol adalah 1, maka kita dapat menuliskannya dengan 0, 1 ataupun 2.
    Untuk 0, kita dapat menuliskan 0 ataupun 1 di kanan,
    Untuk 1, kita dapat menuliskan 0, 1 ataupun 2 di kanannya, sedangkan
    untuk 2, kita hanya dapat menuliskan 1 ataupun 2 setelahnya.

    Jika kita misalkan f(x,y) dengan x adalah panjang simbol dan y adalah simbol paling kanan, kita dapatkan:
    f(x,0) = f(x-1,0) + f(x-1,1)
    f(x,1) = f(x-1,0) + f(x-1,1) + f(x-1,2)
    f(x,2) = f(x-1,1) + f(x-1,2)
    Artinya, kita akan menghitung banyaknya kemungkinan di sebelah kirinya dengan simbol y sesuai dengan fungsi.
    Program akan berhenti mencari jika x = 1 karena jika panjang simbol adalah 1, maka f(1,y) = 1 [f(1,0) = f(1,1) = f(1,2) = 1].

    f(1,0) = 1
    f(1,1) = 1
    f(1,2) = 1

    Untuk x = 2, jika y = 0, kita hanya perlu menjumlahkan hasil pertama dan kedua dari sebelumnya. Hasil yang sama untuk y = 2. Sedangkan jika y = 1, jumlahkan ketiganya.

    f(2,0) = 2
    f(2,1) = 3
    f(2,2) = 2

    f(3,0) = 5
    f(3,1) = 7
    f(3,2) = 5

    f(4,0) = 12
    f(4,1) = 17
    f(4,2) = 12

    f(5,0) = 29
    f(5,1) = 41
    f(5,2) = 29

    f(6,0) = 70
    f(6,1) = 99
    f(6,2) = 70

    f(7,0) = 169
    f(7,1) = 239
    f(7,2) = 169

    f(8,0) = 408
    f(8,1) = 577
    f(8,2) = 408

    f(9,0) = 985
    f(9,1) = 1393
    f(9,2) = 985

    f(10,0) = 2378
    f(10,1) = 3363
    f(10,2) = 2378

    Karena paling kanan bisa bernilai 0, 1 ataupun 2, maka kita jumlahkan ketiganya. Sehingga banyaknya string adalah 2378 + 3363 + 2378 = 8119.

Share Now:

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!