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