Предположим, что среди 33 человек было x рыцарей и 33 - x лжецов. Так как каждый участник сказал фразу: "Напротив меня сидит один лжец и один рыцарь", то у каждого из них должен быть один лжец и один рыцарь напротив.
Так как рыцарь всегда говорит правду, то среди x рыцарей должно быть x лжецов напротив. Аналогично, среди 33 - x лжецов должно быть 33 - x рыцарей напротив.
Из этого следует, что у каждого участника собрания, который сказал фразу, должно быть ровно по одному лжецу и рыцарю напротив. Следовательно, x = 33 - x, откуда x = 16.5.
Так как количество рыцарей должно быть целым числом, то можно заключить, что среди участников собрания было 16 рыцарей.