Автор: Саша (Валерьевич) (---.p3.col.ru)
Дата: 05-08-03 13:59
Прощая бессонная ночь :о)
Тяжело быть иногда гуманитарием.
Без подсказки Ала никогда бы не додумался.
Цветам дается условная цифра:
красный - о
зеленый - 1
синий - 2
Про цвета забываем, фигурируем только цифрами.
100-й визирь складывает вместе суммы всех колпаков впереди стоящих и объявляет:
0 - если эта сумма кратна 3, то есть делится без остатка на 3,
1 - если эта сумма больше ближайшего числа, кратного 3, на 1,
2 - если эта сумма больше ближайшего числа, кратного 3, на 2.
Сообщаемая 100-м визирем информация составляет некий коэффициент, используемый всеми впередистоящими для своих расчетов.
99-й визирь тоже складывает сумму колпаков всех впереди стоящих. "Величина" его колпака (соответственно, цвет), должна быть такой, чтобы прибавив к сумме всех впереди стоящих свое значение, у нас получилась бы сумма, соответственно, кратная 3, или кратная 3 да +1, или кратная 3 да +2 (по сообщенному коэффициенту). То есть от суммы всех впереди стоящих колпаков отнимается коэффициент, а выкрикивается цифра (цвет), которую необходимо прибавить, чтобы получилось значение, кратное трём.
Каждый последующий визирь тоже складывает сумму всех впереди стоящих, только добавляет к ней сумму озвученных значений всеми предшествующими визирями, кроме 100-го (иными словами, он также ориентируется на "сумму 99 колпаков" и ее соотношение к числу, кратному трём.
Самым последним визирям следует для простоты договориться, что 0 будет также считаться кратным 3.
Но если собьются - хана... Я бы посоветовал договориться о том, что при ошибке некоего визиря (не угадал товарищ, например, то есть неправильно посчитал), следующий визирь должен выполнить опять функцию счётчика, и вместо угадывания своего цвета-цифры, опять сообщить всем впередистоящим коэффициент.
Кстати, если сообщаемый 100-м визирем коэффициент случайно совпадет с его цветом, выживут все. Но на месте визирей - завалил бы султана.
|
|