Ответ
Умный БроккольНи рыцарь, ни лжец не могут сказать: «Я лжец»
(высказав подобное утверждение, рыцарь солгал бы, а лжец изрек бы истину).
Следовательно, А, кем бы он ни был, не мог сказать о себе, что он лжец.
Поэтому В, утверждая, будто А назвал себя лжецом, заведомо лгал.
Значит, В — лжец.
А так как С сказал, что В лгал, когда тот действительно лгал, то С изрек истину.
Следовательно, С — рыцарь.
Таким образом:
В — лжец,
С — рыцарь.
(Установить, кем был А, не представляется возможным.)