Câu đố "Mắt xanh" ban đầu được đưa ra ở đây (và bên dưới).
Một nhóm người với các loại màu mắt sống trên một hòn đảo. Họ đều là những nhà logic hoàn hảo - nếu một kết luận có thể được suy luận một cách logic, họ sẽ làm điều đó ngay lập tức. Không ai biết màu mắt của họ. Mỗi đêm lúc nửa đêm, một chiếc phà dừng lại ở đảo. Bất kỳ người dân đảo nào đã tìm ra màu mắt của họ sau đó rời đảo và phần còn lại ở lại. Mọi người đều có thể nhìn thấy mọi người khác mọi lúc và giữ số lượng người họ nhìn thấy với mỗi màu mắt (không bao gồm chính họ), nhưng họ không thể giao tiếp. Mọi người trên đảo đều biết tất cả các quy tắc trong đoạn này.
Trên hòn đảo này có 100 người mắt xanh, 100 người mắt nâu và Đạo sư (cô ấy có đôi mắt màu xanh lá cây). Vì vậy, bất kỳ người mắt xanh nào cũng có thể nhìn thấy 100 người có mắt nâu và 99 người có mắt xanh (và một người có màu xanh lá cây), nhưng điều đó không cho anh ta biết màu mắt của mình; theo như anh ta biết thì tổng số có thể là 101 màu nâu và 99 màu xanh. Hoặc 100 màu nâu, 99 màu xanh và anh ta có thể có đôi mắt đỏ.
Giáo sư được phép nói một lần (giả sử vào buổi trưa), vào một ngày trong tất cả những năm bất tận của họ trên đảo. Đứng trước người dân đảo, cô nói như sau:
"Tôi có thể nhìn thấy một người có đôi mắt xanh."
Ai rời đảo, và vào đêm nào?
Câu trả lời là tất cả đều rời đi vào ngày thứ một trăm. Điều này là do logic sau:
Nếu chỉ có một người mắt xanh, anh ta sẽ rời đi vào ngày 1. Nếu chỉ có hai người mắt xanh, không ai rời đi vào ngày 1. Sau đó, cả hai rời đi vào ngày 2. Bây giờ nếu có 3 người màu xanh mọi người, không ai rời đi vào ngày 1. Không ai rời đi vào ngày thứ 2 cả. Bây giờ mọi người đều biết rằng có 3 người mắt xanh, bởi vì nếu chỉ có một, anh ta sẽ rời đi vào ngày 1 và nếu có hai người, cả hai sẽ rời đi vào ngày 2. Do đó, cả 3 đều rời đi vào ngày 3.
Bây giờ chúng ta có thể viết một bằng chứng quy nạp rằng nếu n người mắt xanh cần n ngày để tìm ra màu mắt của họ và rời đi, thì n + 1 người mắt xanh cần n + 1 ngày để làm điều tương tự.
Tuy nhiên, mã bạn viết phải có khả năng giải quyết không chỉ câu đố gốc, mà cả một số biến thể đòi hỏi các bước quy nạp hơi khác nhau.
Bạn sẽ được cho biết có bao nhiêu người dân đảo có đôi mắt xanh và bao nhiêu người không. Bạn cũng sẽ được đưa ra một tuyên bố của nhà tiên tri (một hệ phương trình / bất phương trình) mà mọi người trên đảo đều nghe thấy. Bạn cần xác định khi nào hòn đảo sẽ không có người mắt xanh.
Các tuyên bố của nhà tiên tri sẽ sử dụng b
cho số người mắt xanh và r
cho số người không mắt xanh. Các phương trình có thể bao gồm < > <= >= = + -
và bất kỳ số nguyên.
Các trường hợp thử nghiệm
Dựa trên này tập hợp các biến thể
50 50
b>=1
b<b+r
Đầu ra: 50
Phương trình thứ hai không cung cấp thông tin mới, do đó bài toán này trở nên giống hệt như câu đố gốc.
100 50
b+3>=r+4
Đầu ra: 25
100 0
b-2>8+1-1
Đầu ra: 90
50 50
b>=10
b<=75
Đầu ra: 41
3b<2r
nào không?
b+b+b < r+r
thay thế.
b>10
, không b>=10
, vì vậy đầu ra nên 90
, không 91
.