Доброй ночи! Есть задача: найти число расстановок трех слонов одного белого цвета на шахматной доске NxN, чтобы ни один не бил других, N ~ 1000 и первая клетка - белая. Я решил в лоб рекурсивным перебором с возвратом, генерируя все расстановки, но уже на N = 60 время выполнения стало нереальным (что ожидаемо). Теперь думаю, что мне нужно воспользоваться тем, что сами перестановки генерировать не нужно, только число. Но я плохо представляю как посчитать количество перестановок для получающихся полей с допустимыми клетками после установки каждой следующей фигуры. (меня не покидает чувство, что я упускаю что-то очень простое, но ключевое в подходе к решению - что то уровня (N^2/2- (2*N)*3))
UPD: Задача решена адаптированным решением, нагугленным
отсюда.