Hint:
C: nón đỏ còn lại
P: max possibility của nón đỏ
C=P: nón xanh tự biết
...
Kiểu tính của chị hơi bị hạn hẹp và khó keep track.
Nếu đúng logic thì 9 nón xanh 10 đỏ và 10 người cũng tính được.
Chị đã trả lời hoàn hảo câu của em thì câu của langchaca là level 2, còn câu của songoku là level 3. Almost the same logic, chỉ là người sau phải suy nghĩ người trươ'c tại sao không biết.
a. Nếu 2 người trước đội nón khác màu thì dĩ nhiên người sau cùng không biết mình đội nón màu gì
b. Nếu hai người trước cùng đội nón màu xanh, thì người sau cùng vẫn không biết mình đội nón màu gì vì vẫn còn một cái màu xanh và hai cái màu đỏ.
a. Người đứng giữa sẽ nói mình đội nón màu xanh nếu người đứng trước đội nón đỏ.
i. Vì nếu người đứng giữa cũng đội nón đỏ thì người đứng sau cùng sẽ nói ngay (điểm 1) ở trên)
b. Người đứng giữa sẽ không biết mình đội nón màu gì nếu người đứng trước đội nón xanh, vì vẫn còn 2 xanh 2 đỏ.
a. Người đứng đầu sẽ nói mình đội nón xanh nếu cả hai người đứng sau cùng im tiếng.
Túm lại:
n = red hats; m= blue hats = players; n = m - 1.
c = actual red hats in front; p = max possibility red hats ỉn front.
if c = p -> current player wears blue hat. Done.
else: next player's p = current p - 1.
Mai mốt đại hội VCF, kéo 101 ace ra chơi thử :-)