Ответ:

Обозначим через 1 рыцаря, а через 0 лжеца. Для комнаты с числом соседей-рыцарей k утверждение «среди моих соседей нечётное число рыцарей» истинно тогда и только тогда, когда k нечётно. Значит, статус жителя равен чётности числа соседей-рыцарей.

По общим участкам стен соседи образуют пары: В–А, В–Е, В–Б, Б–Е, Е–Г, А–Ж, Ж–Г, Ж–Д и Г–Д. Касания в точках не учитываем.

У комнаты В единственные соседи — А, Е и Б, поэтому статус В равен чётности суммы статусов А, Е и Б. У А соседи В и Ж, а у Б — В и Е. Подстановка этих условий даёт В = 0 и Е = 0; тогда Б = 0 и А = Ж. Известно, что хотя бы один житель — рыцарь, следовательно, А и Ж — рыцари.

У Е соседи В, Б и Г. Поскольку В и Б — лжецы, Е (лжец) говорит правду только если Г — рыцарь. Значит, Г — рыцарь. У Г соседи Е, Ж и Д: при Е = 0 и Ж = 1 число соседей-рыцарей нечётно независимо от Д, что согласуется с тем, что Г — рыцарь. Наконец, у Д соседи Ж и Г — оба рыцари; их число чётное, поэтому Д — лжец.

Ответ: рыцари живут в комнатах А, Г и Ж.