Rozwiazanie jest nastepujace:
kazdy mag powinien policzyc ilosc tiara np. bialych i mowiac kolor swojej tiary powiedziec na glos ilosc, ktora widzi (kiedy przyjdzie na niego kolej).
Wiedzac to, nastepny wie czy ilosc tiar bialych, ktore on widzi zmniejsza sie (jezeli tak - to mowi, ze i on ma tiare biala), czy pozostaje bez zmiany (jezeli poprzdnik powiedzial taka sama liczbe bialych tiar, jaka "ja" naliczylem, znaczy to ze "mam" tiare czarna).
Dowod:
B - mag z biala tiara; C - mag z czarna tiara.
* - oryginalne usadowienie tiar na, przykladowych, 30 magach
** - ilosc tiar, ktore widzi poszczegolny mag (zaczynajac od maga po lewej)
*** - powiedziane przez magow kolory tiar (zakladajac najgorsza opcje, tzn. pierwszy mowi ilosc bialych tiar i myli sie co do koloru swojej)
* - C-B-C-C-B-B-B-C-B-B-C-C-C-B-B-C-B-B-B-B-C-C-C-C-B-C-B-C-B-C
** - 15-14-14-14-13-12-11-11-10-9-9-9-9-8-7-7-6-5-4-3-3-3-3-3-2-2-1-1-0-0
*** - B-B-C-C-B-B-B-C-B-B-C-C-C-B-B-C-B-B-B-B-C-C-C-C-B-C-B-C-B-C
I tak to dziaza dla dowolnej liczby skonczonej magow.
Przy zalozeniu, ze zaden z magow w liczeniu sie ni pomyli, w najgorszym wypadku zginie 1 mag.
ok, ale jakby mogli coś jeszcze powiedzieć, to czemu nie powiedzą następnemu wprost jaki ma kolor? Albo umówić się że marchewka to czarny, a pietruszka to biały, jeśli nie mogliby mówić kolorów wprost. Mogliby też dawać sobie jakieś znako, mrugać oczami itp.
Twoje rozwiązanie działa, uratowałeś prawie wszystkich magów, ale jeśli król usłyszałby jakieś inne słowa niż "biały" i "czarny" albo zobaczył jakieś gesty i znaki to możliwe, że spaliłby ich wszystkich za domniemanie oszustwa!