У меня дискретной математики не было, но решал бы так. Есть утверждения:
Л: Пс Бд
П: Лс Бд
Б: Лс Пе
Найдём пару утверждений из которых один оба раза сорвал, другой оба раза сказал правду. Поскольку утверждения
Л-П
связаны через
Бд
, а
П-Б
через
Лс
, остаётся пара
Л-Б
– кто-то из них оба раза правда, другой оба раза ложь.
Ложное утверждение обозначу с воскл. знаком (логическое НЕ) – например,
!Лс
.
Итак, один раз соврал и один сказал правду, выходит, Пончик:
П: !Лс Бд
Чтобы
Лс
было ложным, надо так же сделать ложными утверждения Б. Значит, Б оба раза соврал, а Л оба раза сказал правду:
Л: Пс Бд
П: !Лс Бд
Б: !Лс !Пе
Итого, точно знаем: Пс и Бд. Остаётся Ле.
Ленчик – ель; Пончик – сосна; Батончик – дуб.
upd. Таблица истинности так составляется?
Л П Б Пс Бд Лс Бд Лс Пе
0 1 2 0 0 1 1 0 1 конфликт Бд и Лс
0 2 1 0 0 0 1 1 1 конфликт Бд и Лс
1 0 2 1 1 0 0 0 1 конфликт Бд
2 0 1 0 1 0 0 1 1 конфликт Бд и Лс
1 2 0 1 1 0 1 0 0 ОК
2 1 0 0 1 1 1 0 0 конфликт Лс
Переменные три: истинность утверждений каждого персонажа. Три возможных состояния: 0 – оба раза соврал, 1 – оба раза правда, 2 – соврал-правда. Дальше раскрываем их значение по каждому из утверждений (0 ложь, 1 истина). Во всех вариантах, кроме одного возникают логические конфликты.