Jawaban Teka-teki #037 – Seribu Anggur dan Satu Racun

Seorang raja memiliki 1000 botol anggur dalam gudangnya. Pada suatu hari diketahui bahwa ada orang yang menaruh racun dalam salah satu botol anggur tersebut. Racunnya sangat kuat sehingga siapa pun yang meminum anggur tersebut, meskipun sangat sedikit, akan mati tepat 30 hari kemudian. Ini merupakan kabar buruk yang sangat mengejutkan bagi sang raja karena raja akan mengadakan pesta anggur di istananya 31 hari kemudian.

Sang raja memiliki 10 orang tawanan di istananya yang akan dihukum mati sehingga sang raja ingin mengetahui botol anggur mana yang beracun dengan cara meminta para tawanan mencicipi anggur-anggur yang ada di gudang istana. Bagaimana sang raja bisa mengetahui botol anggur mana yang beracun dengan “menggunakan” 10 orang tawanan sebagai pencicip anggur tersebut?


JAWABAN

Beri label nomor semua botol anggur tersebut mulai dari 1-1000. Kemudian beri label juga kepada 10 orang tawanan yang akan menjadi pencicip anggur dengan nomor 1-10. Kita akan menyelesaikan masalah ini dengan prinsip Sistem Bilangan Biner.

Ubah nomor label atau beri nomor label tambahan pada botol anggur dengan nomor bilangan biner 10 digit. Sebagai contoh, botol anggur nomor 1 diberi label nomor 0000000001, botol anggur nomor 2 diberi label nomor 0000000010, botol anggur nomor 3 diberi label nomor 0000000011, botol anggur nomor 4 diberi label nomor 0000000100, dan begitu seterusnya hingga botol anggur nomor 1000.

Keterangan: angka 2 yang dituliskan pada masing-masing bilangan tersebut bukan termasuk digit dari bilangan biner, melainkan basis dari bilangan tersebut. Bilangan biner merupakan bilangan berbasis 2, sehingga setelah bilangan biner dituliskan angka 2 dengan ukuran yang lebih kecil.

Seluruh anggur telah diberi label bilangan biner 10 digit. Bilangan biner terdiri dari angka 0 dan 1. Asumsikan angka 0 berarti tawanan tidak mencicipi anggur dan angka 1 berarti tawanan harus mencicipi anggur. Para tawanan telah diberi label nomor 1-10. Para tawanan mencicipi anggur dengan cara melihat label bilangan biner masing-masing anggur dan lihat angka 1 terletak pada digit ke-berapa. Kemudian, letak angka 1 pada bilangan biner disesuaikan dengan label nomor tawanan.

Contohnya, botol anggur nomor 2 diberi label bilangan biner 0000000010. Angka 1 berada pada digit ke-9. Berarti, anggur tersebut harus dicicipi oleh tawanan dengan label nomor 9. Contoh lainnya, botol anggur nomor 5 diberi label bilangan biner 0000000101. Angka 1 berada pada digit ke-8 dan ke-10. Berarti, anggur tersebut harus dicicipi oleh tawanan dengan label nomor 8 dan 10.

Sampai disini apakah bisa dimengerti? :D

Setelah mengerti penjelasan di atas, minta 10 orang tawanan tersebut mencicipi semua anggur dalam botol nomor 1-1000 sesuai dengan cara yang sudah dijelaskan tadi.

Sekarang mari kita skip waktunya ke 30 hari kemudian, hari penentuan botol mana yang anggurnya beracun. Bagaimana caranya? Susun bilangan biner 10 digit berdasarkan kondisi tawanan sesuai dengan label nomornya. Sekarang kita asumsikan angka 0 berarti tawanan dalam kondisi hidup dan 1 berarti tawanan dalam kondisi meninggal.

Sebagai contoh, tawanan yang meninggal adalah tawanan nomor 7 dan 8. Tulis bilangan biner 10 digit dengan angka 1 pada digit ke-7 dan ke-8, selebihnya ditulis angka 0, sehingga menjadi 0000001100. Ubah bilangan biner itu menjadi bilangan desimal, 00000011002 = 12. Jadi, anggur yang beracun adalah anggur dengan label nomor 12. Contoh lainnya, tawanan yang meninggal adalah tawanan nomor 5, 7, dan 9. Tulis bilangan biner 10 digit dengan angka 1 pada digit ke-5, ke-7, dan ke-9, selebihnya ditulis angka 0, sehingga menjadi 0000101010. Jika diubah menjadi bilangan desimal, maka 00001010102 = 42. Jadi, anggur yang beracun adalah anggur dengan label nomor 42.

Memang agak ribet penjelasannya. Semoga bisa dimengerti :D