Главное - думать о одном ферзе на колонку, а не пытаться расставить их все сразу. Если гарантировать, что ферзь есть в каждой колонке доски, половина проблемы решается сама по себе, потому что они уже не могут быть в одной колонке. Дальше остаётся только избежать, чтобы они атаковали друг друга по диагоналям и рядам.
Лучше всего работает метод - идти колонка за колонкой слева направо, а в каждой колонке пробовать сверху вниз. Ставишь ферзя в ряд, проверяешь, что он не атакует ни одного из уже поставленных (ни по диагонали, ни в ряду), и если не подходит, откатываешься и пробуешь следующий ряд. Например, в колонке 1 можно начать с ферзя в ряду 1. В колонке 2 не можешь ставить в ряд 1 и на диагонали, поэтому пробуешь ряд 3, ряд 4 и так далее. Если в какой-то колонке не найдёшь валидное место, откатываешься в предыдущую колонку и перемещаешь того ферзя в другой ряд, и продолжаешь отсюда.
Есть несколько валидных решений, поэтому нет единственного правильного пути. Первое решение, которое ты обычно найдёшь, имеет ферзей на позициях типа (1,1), (2,3), (3,5), (4,2), (5,8), (6,6), (7,4), (8,7) или что-то вроде того, в зависимости от того, где начнёшь. Тут всё зависит от терпения. Некоторые говорят, что нарисовать реальную доску или использовать интерактивное приложение здорово помогает визуализировать, потому что только в голове это довольно утомительно.