В этой задаче есть кардинально два разных решения: умное и поверим в процесс.
Умное. Откроем одного персонажа и будем действовать с точки зрения вероятности:
- Открытый персонаж Охотник. Тогда с вероятностью $$$\dfrac{n-3}{n}$$$ он не врёт, то есть персонажи на расстоянии $$$r$$$ теперь будут помечены как подозрительные, поставим им коэффициент подозрения $$$8 \cdot \dfrac{n-3}{n}$$$, и, если охотник врал, то значит рядом с ним демон, с вероятностью $$$\dfrac{3}{n}$$$, тогда соседние клетки получат коэффициент подозрения $$$4 \cdot \dfrac{3}{n}$$$.
- Открытый персонаж Судья. Откроем, спросим, врёт ли персонаж напротив, так как они не соседние и не через персонажа, либо оба говорят правду, либо один говорит правду, а другой врёт. Противоположному поставим коэффициент подозрительности $$$-(2\cdot \dfrac{n - 3}{n} - 1)$$$, если ответ, что карта говорит правду, ведь такое может быть, только тогда, когда оба говорят правду. Иначе противоположному и его соседям поставим коэффициенты подозрительности $$$5 \cdot \dfrac{2n - 6}{n}$$$.
- Открытый персонаж Подрывник. Поставим ему коэффициент подозрительности $$$-50$$$, потому что он с вероятностью $$$\dfrac{n - 3}{n}$$$ закончит игру при смерти.
- Открытый персонаж Шут. Если последовало значение $$$2$$$ или $$$3$$$, мы знаем двух лгущих персонажей — шут и один из его соседей (или оба, если шут — демон). Иначе, поставим коэффициенты $$$5 \cdot \dfrac{n-3}{n}$$$, если шут сказал, что среди них нет врущих, и $$$-5 \cdot \dfrac{n-3}{n}$$$ иначе, причем остальным персонажам нужно выдать коэффициент подозрительности $$$3\cdot \dfrac{n - 3}{n}$$$.
Обратите внимание, что все коэффициенты (как $$$3$$$, $$$5$$$, ...) подобраны экспериментально. Теперь в соответствии с коэффициентами подозрительности будем поочерёдно убивать подозрительных людей. Теперь важно вспомнить, что существует рыцарь, из-за него коэффициенты подозрительности меняются кардинально — если убит рыцарь, то рядом с ним демон, иначе соседи рыцаря гарантированно не демоны.
Простое. Будем поочерёдно убивать, начиная со случайной позиции, людей. Если мы убили рыцаря, действуем аналогично умному решению, иначе убиваем дальше, так как из-за рыцаря матожидание числа убийств до демона уменьшается, а из-за подрывника увеличивается, мы получаем, что в среднем, нам нужно около $$$2.9$$$ убийств, а у нас как раз есть $$$3$$$. Победа.