Очень долго думал над этой задачей. Придумал несколько вариантов решения, но при оценке количества итераций в этих алгоритмах я их отметал.
Самая трезвая идея: т.к. каждая клетка находится "под прицелом", то и каждый конь находтся под прицелом хотя бы одного из собратьев - исходя из этого можно составить алгоритм, который расставляет коней по принципу "чтобы клетка, на которой он стоит, была уже под прицелом". Как готовое решение: ставить коня на произвольную клетку, а потом совершать 11 ходов так, чтобы не попадать в одну клетку дважды. А потом проверять, выполняются ли условия, если в эти следы расставить коней. Но даже этот вариант имеет трудности и не гарантирует нахождения решения.
Самый простой для программирования вариант: генетический алгоритм.
Генерируются случайные особи с 12-ю генами в хромосомах. Каждый ген - число - номер клетки, где есть конь. А потом эти особи итеративно скрещиваются. Фитнес функция проверяет близость каждой особи к решению. Вероятность оставить потомство особью пропорциональна степени соответствия решению (кол-ву "простреливаемых" конями клеток) - думаю, так итерации быстрее всего сойдутся и алгоритм не провалится в локальные экстремумы.
Возможно, потом всё-таки изображу решение.
А вот аналитического решения я так и не накрутил.
![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)