مسابقه شماره ۲۴۸
سوال
۳۰ دانشآموز در یک کلاس حضور دارند که همه آنها افرادی راستگو هستند. میدانیم یکی از آنها المپیادی است ولی او را نمی٬شناسیم.
میخواهیم با پرسیدن k سوال ٫ فرد مزبور را بیابیم. در هر سوال میتوانیم یکی از دانشآموزان را انتخاب میکنیم و به او اسم چند نفر از دانشآموزان را بگوییم و از او بپرسیم که آیا فرد المپیادی ٫ یکی از آن چند نفر است یا خیر ؟
او هم فقط به این سوال جواب بله یا خیر میدهد. k حداقل چقدر باشد که با پرسیدن k سوال همواره مطمپن باشیم میتوانیم فرد مورد نظر را بشناسیم.
پاسخ
به هر دانشآموز یک کد از ۱ تا ۳۰ داده و شماره او را در مبنای ۲ در نظر میگیریم.
معلوم است که در آن مبنا شماره هر فرد حداکثر پنج رقمی است. بنابراین پنج لیست به نامهای A ٫ B ٫ C ٫ D و E در نظر گرفته و هر یک از آنها را متناظربه یکی از ارقام پنج گانه اعداد در مبنای ۲ قرار میدهیم.
در جایگاههایی که رقم ۱ باشد در لیست متناظر اسم فرد را مینویسیم و در غیر این صورت اسم او را در آن لیست نمینویسیم. به عنوان مثال اسم نفر یازدهم در لیستهای A ٫ B و D نوشته شده ولی در لیستهای C و E نوشته نمیشود ٫ زیرا عدد ۱۱ در مبنای ۲ به شکل ۰۱۰۱۱ نوشته میشودو لیستهای پنجگانه را به یک نفر نشان میدهیم و او اطلاع میدهد که فرد المپیادی در کدام یک از لیستهای پنج گانه قرار دارد که به این ترتیب شماره آن فرد شناسایی خواهد شد.