|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.01.2009, 12:41 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Задача (наверное на перебор)
Добрый день всем
У меня такая задача: Есть шахматная доска N на N и К одинаковых камней. Нужно посчитать, сколькими способами можно разложить камни по клеточкам так, чтобы в каждой строке и в каждом столбце доски было не более одного камня. Например N=2 K=2 Відповіть:2 Как я понял, доску можно изобразить в виде матрицы NxN. Тогда по очереди раскладывать по К камней и проверять, есть в каждом столбце и в каждой строке количество камней = 1. Проблема в том, как за однин шаг разложить К камней на матрицу (например там где камень можно заполнить числом 1, а где его нет 0). Остальной алгоритм я сам смогу доделать. Очень всем спасибо
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
18.01.2009, 16:17 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Как я понял, надо делать через перебор
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
18.01.2009, 16:39 | #3 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Мне кажется здесь матрица и перестановки не нужны.
Если s-количество способов, то при к=1 s=n^2; при n=2 и k=2 s=2; во всех остальных случаях s=n^2* (n-1)^2*(n-2)^2 ... (n-k+1)^2; Напрашивается рекурсивная функция F(n,k). |
18.01.2009, 18:06 | #4 | |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
Спасибо, всё понял
Цитата:
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
|
18.01.2009, 18:11 | #5 |
Форумчанин Подтвердите свой е-майл
Регистрация: 27.04.2008
Сообщений: 179
|
А если есть число в виде строки S, и в ней нужно вичеркивать К символов. Нужно перероботать все варианты и узнать найменше (найменьше число). Как такое сделать?
www.programmer.uaforums.net - Український форум програмістів.
www.satellite.ipsys.net - Український форум супутникового телебачення. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перебор и его сокращения | *Zimnij* | Общие вопросы C/C++ | 1 | 04.01.2009 14:38 |
Психо Гипноз....Наверное зря Я сюда это выложил.)))) | Izhic | Свободное общение | 5 | 23.10.2008 16:25 |
Перебор элементов матрицы | pikkk | Общие вопросы Delphi | 3 | 09.05.2008 14:45 |
Задача на большой перебор | МаксимNEWProgramm | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 06.04.2008 18:15 |