Возьмем случай, если самый левый (тот что начинает говорить) является рыцарем, то есть говорит правду. Он говорит: "Мой сосед справа - лжец".
То есть действительно, второй слева лжец. Т.к. он лжец, следующий за ним сосед - рыцарь. Всего 24 жителя. Эту фразу говорят все, кроме трех.
То есть берем 21 жителя. Отсюда следует то, что здесь 11 рыцарей и 10 лгунов. Последний из 21 жителя был рыцарем. Его сосед - лжец. Два последних говорят противоположности, а значит среди них лишь один рыцарь.
То есть всего 12 рыцарей.
Если б первым начинал лжец, то тоже было б 12 рыцарей, т.к 22 справа - рыцарь, поскольку перед ним лжец