Если же каждый из заключенных видит всех остальных, но неизвестно сколько белых и черных, то спасутся минимум 99. Например выбирают одного, кто называет тот цвет кол-во шапок которого нечетное. Следующий смотрит четное или нечетно кол-во шапок этого цвета он видит, исключая того, кто сказал, если четное то у него этот цвет, если нечетное, то противоположный.
Согласна частично, первому нужно назвать цвет шапки второго. Второй, зная свою, называет ее. Третий называет четвёртого, четвёртый - свою... в итоге спасется точно половина, остальные - как повезёт.
Как вариант)