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

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

Восстановить пароль Регистрация
 
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
17.12.2010, 16:09     Рекурсия #1
Вычислить рекурсивно число расстановок N ладей на доске N*N таких, что ладьи симметричны относительно обеих диагоналей и не бьют друг друга.

Добавлено через 17 часов 27 минут
UP /\
||

Добавлено через 18 секунд
UP /\
||
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 16:09     Рекурсия
Посмотрите здесь:

РЕкурсия C++
Рекурсия (на С) C++
Рекурсия C++
рекурсия C++
Рекурсия C++
C++ Рекурсия
C++ Рекурсия
Рекурсия C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 23:41     Рекурсия #2
Цитата Сообщение от Оленька* Посмотреть сообщение
Вычислить рекурсивно число расстановок 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ак ограничить , то что Ладья будет симметрична обеим диагоналем, и как это повлеяет на количество Решений , я не знаю...
Yandex
Объявления
17.12.2010, 23:41     Рекурсия
Ответ Создать тему
Опции темы

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