Классическая задача про рыцарей, лжецов и нормальных людей. Есть шесть высказываний, три пары по два. Следовательно, у нас 6 вариантов развития событий, т.к. каждый из них может быть либо лжецом, либо рыцарем (всегда говорящим правду), либо нормальным (который и так и так). Перейдем к символьным обозначениям.
A: A невиновен, С виновен
B: С невиновен, A виновен
С: С невиновен, B невиновен
Для начала, С не может быть лжецом, т.к. в противном случае он бы утверждал, что и В и С виновны.
Далее, если С говорит правду, то А виновен, и В придется ему противоречить, т.к. если В лжец, то С виновен, а мы знаем, что виновен А, а если В нормальный, либо А и С виновный, чего быть не может, либо А и С невиновны, что противоречит С.
Получаем, что С нормальный.
Тогда либо В правда, тогда А виновен, и лжец, и это вызовет противоречие с С (из его слов выходит, что либо В, либо С виновен).
Либо А правда, тогда С виновен, и В лжец, что противоречий не вызывает. Ответ таков - А сказал правду оба раза, В лжец, а С один раз соврал и один раз сказал правду. И при этом С утаил клад. Тогда можно спокойно отпускать Смита и Джона.