Форум программистов, компьютерный форум CyberForum.ru

Рекурсия - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразование двумерного массива http://www.cyberforum.ru/cpp-beginners/thread212866.html
Добрый вечер. Сегодня передо мной поставили задачу следующего содержания: Даны 2 двумерных массива X и Y. Необходимо найти одномерные массивы X1 и Y1, соблюдая следующие условия: - X1 - среднее арифметическое максимального и минимального значений элементов строки в массиве X; - Y1 - аналогично по массиву Y. Пол головы сломал и никак не пойму что куда. Может кто подсказать. Добавлено...
C++ Что такое int*a ? С++ что такое int*a ??? заранее спс http://www.cyberforum.ru/cpp-beginners/thread212864.html
Файлы C++
Прочитать из файла матрицу А (nxn). Вычислить сумму квадратов элементов, значения которых больше, чем 1. Результаты занести в файл. Помогите, нужна помощь....
C++ Как???
Как сюда добавить указатель на массив? там кое что надо подправить просто... чтоооо? хелп. #include <stdio.h> #define n 5 int main(void)
C++ Создание Класса http://www.cyberforum.ru/cpp-beginners/thread212847.html
Создать класс "Массив чисел" в котором храниться массив с числами( double ) длинной 5.Сделать классу такие методы:1)конструктор который заполняет массив 0 2)деструктор который сообщает о ликвидировании обьекта 3) метод "Изменить" с индекслм изменяемого элемента(0...4) и новое значение,которое изменяет значение изменяемого массива.4) метод "Сумма" который возвтащает сумму элементов 5) метод...
C++ Формирования списка кандидатов, участвующих в выборах губернатора (priority queue) Составить программу формирования списка кандидатов, участвующих в выборах губернатора. Каждая заявка от кандидата содержит: фамилию и инициалы, дату рождения, место рождения, индекс популярности. Программа должна обеспечивать выбор с помощью меню и выполнение одной из следующих функций: • Добавление заявки в список кандидатов. Для ввода индекса популярности (значение указано в скобках)... подробнее

Показать сообщение отдельно
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 23:41     Рекурсия
Цитата Сообщение от Оленька* Посмотреть сообщение
Вычислить рекурсивно число расстановок N ладей на доске N*N таких, что ладьи симметричны относительно обеих диагоналей и не бьют друг друг
Ладья атакуют только по вертикали и по горизонтали, это означает ,что Ладей не может быть больше ,чем n.Расстановка n ладей на n^(2) клеткам доски составляет C(n/n^(2).
Учтем что в каждом столбце может стоять не более одной ладьи поэтому будем представлять поиск решений (a1....,an) следующим образом величина aj будет задавать номер клетки по горизонтали в i-ой вертикали.Таким обрахом, i=1,n, и aj принадлежит {1,2...,n}. Это дает нам n^(n) решений.
Аналогично в каждой строке может стоять не больше одной ладьи.Это означает ,что вектор (a...,an) не может держать одинаковых значений , значит ai неравно aj при i неравном j, следовательно всякое допустимое решение являеться перестановкой чисел от 1 до n.В этом случае необходимо рассмотреть n! решений.

Kак ограничить , то что Ладья будет симметрична обеим диагоналем, и как это повлеяет на количество Решений , я не знаю...
 
Текущее время: 07:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru