Задача

За круглым столом сидит n>2 человек. Каждый из них либо рыцарь, либо лжец. Рыцари всегда говорят только правду, а лжецы всегда лгут. Опишите способ построения логической схемы c n входами, которая принимает значение истина тогда и только тогда, когда каждый из сидящих за столом может произнести фразу «Оба моих соседа лжецы».

На логической схеме входы соответствуют людям: нули обозначают лжецов, а единицы рыцарей. Разрешается использовать логические элементы AND (и), OR (или), NOT (не) и XOR (исключающее или). Соседние входы соответствуют соседним людям, кроме того, поскольку стол круглый, самый верхний вход будем считать соседним с самым нижним.

Для иллюстрации Вашего решения Вы можете использовать манипулятор с тремя входами. Однако, оцениваться будет в первую очередь текст решения, автоматической проверки не производится.

Решение участника

Если человек - лжец, то нельзя, чтобы его соседями были два лжеца, если человек - рыцарь, то его соседями обязательно должны быть лжецы. Схема, которая показана на манипуляторе иллюстрирует проверки для одной тройки человек, если участвует больше чем три человека, то эту схему надо циклически сдвинуть n раз. Пронумеруем людей в тройке. Схема: если второй человек - рыцарь(1), то если первый человек - лжец(0) и третий человек лжец(0), то правда. Если второй человек - лжец, то если первый или второй (т е есть хотя бы один сосед рыцарь), то правда. В остальных случаях ложь.