Не очаквах някой да прояви интерес. Мислех след два-три дни направо да опиша тук алгоритъма.
Но сега се притеснявам, че ще ти разваля кефа да си го откриеш сам. Затова, ще направя само няколко по-дебели подсказки, пък ако седмица-две не стигнат, ще напиша алгоритъма.
1. Тъй като предварително не знаят кои са цветовете, хората в колоната се наговарят да номерират цветовете по тяхното появяване в колоната. За такова номериране вече стана въпрос няколко пъти в тази задача.
2. Нулевия цвят всички го виждат, защото е най-отпред. Само този най-отпред не знае нищо за номерацията на цветовете.
3. Всички които виждат пред себе си поне два цвята, на практика знаят номерата и на трите цвята. Те прилагат алгоритъма на Bibi, който ти си описал по-горе, който важи и за повече цветове. Както ще се разбере накрая, на тях повече им трябва тефтера и химикалката, отколкото на останалите отпред
4. Тези които виждат пред себе си само един цвят (цвят 0), няма как да знаят кой цвят е 1 и кой цвят е 2. Това обаче не им пречи да се спасят, при това с по-малко усилия от тези които знаят номерата и на трите цвята. Обаче алгоритъма за тяхното спасяване се чупи ако цветовете бяха 4 или повече
5. Едно добро начало за размисъл е, какъв цвят трябва да избере предпоследния (предпоследния - този който втори натиска бутона), ако вижда пред себе си само цвят 0. А какво трябва да избере пред-пред последния ако и той вижда само нулевия цвят.
Добавено:
Wise, прочетох пак поста ти - едно такова уточнение може би се налага да направим (// да направим с теб) - след като им нахлупил шапките на главите, шефа застанал най-отпред и размахал три различни шапки, казвайки "шапки с такива три цвята съм ви нахлупил" и всички чак тогава са видели какви са трите цвята на шапките