Денис
Что-то подсказывает, что перебор окрестят неоптимальным способом решения.
Разумеется неоптимальное решение, но самое правильное с точки зрения математики.
а если хочется оптимальности, то можно время исполнения уменьшить до 1 сек
просто формализуем 4 шага решения этой задачи, те 4 шага , что мы в уме проделываем(ну или на бумаге, кто как)
опять же кода будет на страницу, время исполнения меньше секунды
начните с формализации первого шага, это самое простое
делаем массив 5х5 и исходя из 11-ти условий заполняем все параметры первого дома(норвежца)
следующие 3 шага делаются с использованием и условий задачи и уже заполненных данных в массиве
только это совсем и не программирование даже