Давайте разберем задачу по порядку.
а) Все рыцари солгали. Кто победил дракона?
Если все рыцари солгали, это значит, что никто из них не говорил правду. То есть:
- Рыцарь А утверждает, что Рыцарь Б победил дракона. Если это ложь, то Рыцарь Б не победил дракона.
- Рыцарь Б говорит, что Рыцарь Ц победил дракона. Если это ложь, то Рыцарь Ц не победил дракона.
- Рыцарь Ц говорит, что он сам победил дракона. Если это также ложь, то Рыцарь Ц не победил дракона.
Следовательно, если все лгут, то ни один из рыцарей не победил дракона. Таким образом, в этом случае дракон остался непобежденным.
б) Только 1 рыцарь сказал правду. Кто победил дракона?
Теперь рассмотрим ситуацию, в которой только один рыцарь говорит правду. Начнем по той же логике:
Если Рыцарь А прав, то Рыцарь Б действительно победил дракона:
- Это означает, что Рыцарь Б говорит ложь (он должен был сказать, что Рыцарь Ц победил дракона, что не верно) и Рыцарь Ц также лжёт (он сам себя называет победителем, что тоже не верно). Таким образом, Рыцарь Б победил дракона — этой ситуации не противоречит.
Если Рыцарь Б прав, то Рыцарь Ц должен был победить дракона:
- Т.е. Рыцарь А лжёт (значит, Рыцарь Б не победил дракона), а Рыцарь Ц тогда говорит правду, что вызывает противоречие (так как в этом случае Рыцарь Ц не может быть единственным, кто говорит правду).
Если Рыцарь Ц прав и он действительно победил дракона:
- Тогда Рыцарь А лжёт (Рыцарь Б не победил дракона), а Рыцарь Б лжёт о победе Рыцаря Ц. Это тоже создает противоречие, поскольку два рыцаря получают статус лжецов.
Таким образом, после анализа видно, что единственный подходящий вариант, соответствующий условию задачи, — это когда Рыцарь А говорит правду, а значит, победил дракон Рыцарь Б.