Bài toán sinh nhật của Cheryl

Hôm nọ tui vừa tìm được câu đố khó hiểu này khi đang giải toán trên Google. Đọc thấy kì dị vkl nhưng điều đó lại thu hút tui. Câu đố này kiểu, có 2 anh chàng tên Albert và Bernard, hỏi cô bạn Cheryl rằng sinh nhật cô này là ngày nào. Thay vì sống như người bình thường, nói mẹ ra ngày sinh nhật thì cô này lại đưa ra 1 dãy ngày. Xong cổ nói với 1 người tháng sinh chính xác, và nói với người còn lại ngày sinh chính xác. Chi tiết bài ở đây: https://en.wikipedia.org/wiki/Cheryl%27s_Birthday

[Cụ thể mình trích ở ảnh 1 để mọi người đỡ mất công]

Điều tui muốn biết là làm cách đéo nào loài người có thể tìm ra đáp án vậy. Tui đọc hết mấy bài giải thích rồi mà vẫn không hiểu.

Cheryl sau đó nói riêng với Albert biết tháng và Bernard biết ngày sinh nhật của cô (chỉ ngày, không tháng)

Albert: Mình không biết sinh nhật của Cheryl là ngày nào, nhưng mình biết rằng Bernard cũng không biết.

Bernard: Lúc đầu mình không biết ngày nào là sinh nhật của Cheryl, nhưng bây giờ mình biết rồi.

Albert: Bây giờ mình cũng biết ngày nào là sinh nhật của Cheryl rồi.

Vậy sinh nhật của Cheryl là ngày nào?

>u/MultiFazed (68 points)
Câu đố như thế này không chỉ dựa trên thông tin mà mỗi nhân vật trong câu đố biết được, mà còn trên việc họ biết rằng những nhân vật khác biết những thông tin gì nữa.
Trong bài này, Cheryl đưa ra 10 ngày sinh nhật và bảo với Albert tháng sinh, với Bernard ngày sinh.

Albert (người chỉ biết tháng), bảo rằng “Mình không biết sinh nhật Cheryl là ngày nào, nhưng mình biết Bernard cũng không biết.”

Vậy, làm sao Albert biết được Bernard không biết sinh nhật Cheryl?
Để trả lời vấn đề này, các ông cần phải biết làm sao Bernard (người chỉ biết ngày sinh) có thể biết được sinh nhật Cheryl là ngày nào khi anh này không hề biết tháng sinh. Cách duy nhất chính là ngày sinh ấy phải chỉ xuất hiện 1 lần trong 10 ngày trên. Ví dụ, nếu sinh nhật Cheryl là 19/5, hay 18/6; Bernard sẽ biết chính xác sinh nhật Cheryl chỉ từ thông tin về ngày sinh.
Và bởi Albert bảo Bernard không biết sinh nhật Cheryl, nên chỉ có thể bởi vì sinh nhật cổ không thuộc trường hợp kể trên, nghĩa là không thể rơi vào tháng 5 hay tháng 6 [vì Albert biết tháng], và vì thế cũng không thể là ngày 18 hay 19.
Ta được như ảnh trên

Giờ Bernard bảo, “Đầu tiên mình cũng không biết sinh nhật Cheryl đâu, nhưng giờ mình biết rồi.”
Để Bernard biết được, thì sinh nhật phải là ngày chỉ xuất hiện một lần trong những tháng còn lại. Nghĩa là ngày đó không thể là 14, [vì nó xuất hiện trong 2 tháng], mà Bernard vẫn chưa biết là tháng nào mà.
Vậy nên sinh nhật sẽ nằm trong ngày 15, 16, 17; và Bernard có thể biết chính xác sinh nhật nằm ở tháng nào vì anh đã biết ngày.
Ta được như ảnh trên.

Lúc này, Albert nói, “Giờ mình cũng biết sinh nhật Cheryl rồi”.

Cách duy nhất để Albert biết được sinh nhật Cheryl là khi ngày ấy phải là ngày duy nhất còn lại trong tháng [tháng mà Cheryl đã nói với anh]. Vậy nên ngày cần tìm chắc chắn là 16/7.

Hi vọng câu trả lời này có ích. Tui rất vui lòng chỉ rõ những phần ông không hiểu.

>u/capilot (3 points)
Tui sẽ thử cố giải thích mà không đọc những bình luận khác:

Góc nhìn của Albert: Mỗi tháng đều có vài ngày, nên biết tháng cũng không thể biết sinh nhật được.

Góc nhìn của Bernard: Có vài ngày chỉ xuất hiện ở 1 tháng thôi [18; 19]. vậy nên nếu Cheryl nói với Bernard 2 ngày này thì Bernard sẽ biết ngay sinh nhật là ngày nào. Nếu bảo 19, sẽ là 19/5; nếu bảo 18, sẽ là 18/6.

Albert: Nếu Cheryl nói với Albert tháng 5 hoặc 6, Albert sẽ biết là, “có thể” Bernard đã tìm ra đáp án. Nhưng Albert bảo Bernard cũng chưa biết là ngày nào, nên ta dễ thấy sẽ không phải tháng 5 hay tháng 6. Chắc chắn là tháng 7 hoặc 8.

Bernard: Dựa trên câu nói của Albert, Bernard biết sẽ là tháng 7 hoặc 8. Và giờ anh ấy đã biết đáp án. Vậy chắc chắn ngày đó phải là 15, 16 hoặc 17.

Albert: Giờ Albert đã biết đáp án là 15, 16 hoặc 17. Nếu là 15 hoặc 17, anh ấy vẫn có thể sai. Nhưng Albert bảo mình đã tìm ra đáp án, vậy nên chỉ có thể là 16.

Đáp án: 16/7

Leave a Reply

Your email address will not be published. Required fields are marked *