Обозначим первого человека как А, второго — как Б.
А сказал: «Мы оба лжецы».
Б сказал: «Он прав».
Предположим, что А сказал правду. Тогда оба они лжецы. Значит, и Б — лжец. Но если Б — лжец, то он не может подтверждать слова А, следовательно, утверждение А ложно. Значит, А — лжец.
Если А — лжец, то не может быть, чтобы они оба были лжецами. Значит, Б — не лжец, следовательно, Б — рыцарь.
Итак, А — лжец, Б — рыцарь. Тогда утверждение Б правдиво, то есть А действительно лжец.
Ответ: А — лжец, Б — рыцарь.