олимпиадная задачка

 

помогите с задачой,решал сам но мне сказали неправильно,помогите пожалуйста

№5380

10 мудрецов сели в круг и крепко зажмурились. После этого султан надел каждому из них на голову колпак:четверо мудрецов оказались в чёрных колпаках,трое-в белых ,двое-в красных и один в синем. Открыв глаза,каждый из мудрецов увидел цвета колпаков у всех остальных,но не у себя. Совещаться друг с другом мудрецы не могут,но знают что всего у султана было 14 колпаков: 5 чёрных, 4 белых, 3 красных и 2 синих.

сможет ли кто-нибудь из мудрецов определить цвет своего колпака. 

 

Вы не указали в условии важную деталь (либо вам её специально не сказали, чтоб вы не решили задачу)

звучит так: "Те из мудрецов, кто может правильно назвать цвет своего колпака, должны это сделать"

То есть если мудрец понял какой его цвет, то должен это сказать сразу же.

-----

Иначе если все будут молчать, то задача не имеет решения.

 
По моему, всё просто. Если каждый видит остальных и знает количество и цвет всех колпаков, то может вычислить, какого не хватает методом исключения.
 

Но никто не знает сколько и каких осталось свободными. Колпаков 14, а мудрецов только 10.


А вообще-то ответ на конкретный вопрос: "сможет ли кто-нибудь из мудрецов определить цвет своего колпака" я думаю что НЕТ. Т.к увидев все цвета на головах соседей будет понятно, что не хватает каждого цвета ровно по 1му и один на твоей голове и не известно какие остались не надетыми.

 
AlexeyVik:
Но никто не знает сколько и каких осталось свободными. Колпаков 14, а мудрецов только 10.
Это упустил. Тогда непросто, но автора в баню за спам.
 
Zhunko:
Это упустил. Тогда непросто, но автора в баню за спам.
А заодно и всех участников.
 
sergeev:

Вы не указали в условии важную деталь (либо вам её специально не сказали, чтоб вы не решили задачу)

звучит так: "Те из мудрецов, кто может правильно назвать цвет своего колпака, должны это сделать"

То есть если мудрец понял какой его цвет, то должен это сказать сразу же.

Неправильно, ты так весь смысл убиваешь. Сразу же необязательно. Просто обязаны назвать.

А ярых банщиков самих бы в баньку, для профилактики


 
Один мудрец видя только один синий и все остальные понимает , что у него один из двух синих.( Двое вычислили.) В красном видя 2-красных и все остальные, уже зная что у него не синий , вычисляет свой красный и т.д.
 
Эта задача - проверка школьника мыслить алгоритмически: от простого к сложному. Иная формулировка - мат. индукция.

Сначала задача решается для такого случая: три мудреца, один в синем колпаке, остальные - в красных.
Далее рекурентно начинаем увеличивать количество цветов и мудрецов, согласно задаче.

В общем случае задача формулируется для (N + 1) * N / 2 мудрецов/цветов и (N + 3) * N / 2 колпаков со схожим условием. Алгоритм рекурентный.
Причина обращения: