Краткий ответ: в пропуске нужно выбрать «ровно», а витязей в граде — 608.
Почему:
Пусть высказывание звучит так:
«Среди моих двух соседей есть ровно один витязь».
- Витязь говорит правду, значит среди его соседей действительно ровно один витязь.
- Купец лжёт, значит среди его соседей не 1, а 0 или 2 витязя.
Поэтому жители выстраиваются повторяющимися группами:
\[ \ldots 1\,1\,0\,1\,1\,0\,1\,1\,0\ldots \]
где \(1\) — витязь, \(0\) — купец. В каждой тройке — 2 витязя.
\[ 912:3=304 \]
\[ 304\cdot 2=\boxed{608} \]
Проверка: \(608\) витязей и \(304\) купца, всего \(608+304=912\).
