![]() |
|
Модераторы: Poseidon |
![]()
|
|
| TuttiFrutti |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.11.2006 Репутация: нет Всего: нет |
Ребята,уважаемые кодеры,не могу решить зада4у,кто 4ем может помогите!!!
...Зада4а:Написать программу, 4тобы пк расставил 12 коней на шахматной доске так,чтобы все клетки были под ударом.(клетки,занятые конями не с4итать) Вот,4то я нарешал.Использовал функцию слу4айных 4исел,для определения координат каждогог из 12 коней,но как вы сами понимаете, вероятность того ,4то совпадет нужная расстановка о4ень мала,тем более random функция повторяет присвояемые зна4ения.Help....help....help!!! Мой код:
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 24 Всего: 110 |
перебором можно
для примера можно посмотреть задачу расстановки ферзей на доске так, чтобы они друг друга не били полный перебор будет порядка 64^12, но можно сделать несколько шагов по оптимизации: 1. отдельно решать задачу для белых клеток и для чёрных, т.к. они независимы, это приведет к 2*(32^6), что уже неплохо 2. прекращать просмотр ветки, если количество оставшихся безопасных клеток меньше, чем количество коней*8 (т.к. конь не может бить больше 8 клеток) - на сколько это ускорит не знаю, возможно, стоит делать это отсечение более "интеллектуально" -------------------- qqq |
|||
|
||||
| Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: 50 Всего: 88 |
TuttiFrutti, пойди в алгоритмы, там эта задача точно есть. Я лично мучился, переводил с паскаля, абсолютно им не владея, на С++.
Ладно, вот я уже сам нашёл.12 коней -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
| TuttiFrutti |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.11.2006 Репутация: нет Всего: нет |
maxim1000, вам спасибо за содействие..попробую сам написать, у4тя советы!
Dov, спасибо!!!...все работает!...я спасен! |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |