Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2009, 09:13   #1
xakep139
Новичок
Джуниор
 
Регистрация: 10.05.2009
Сообщений: 2
Сообщение Другая задача про ферзей (язык Си)

Задача звучит следующим образом: для заданного клеточного поля найти все размещения наименьшего числа ферзей таким образом, чтобы они били все его свободные поля.
Если можно подскажите пожалуйста литературу в помощь или алгоритм решения. Хотя можно и текст программы
Заранее спасибо!
xakep139 вне форума Ответить с цитированием
Старый 10.05.2009, 11:32   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

это тебе надо дискретную математику почитать про графы

Для этого достаточно найти наименьшее доминирующее множество в графе, вершины которого соответствуют клеткам шахматной
доски и две вершины связаны ребром, если и только если они взаимно достижимы ходом ферзя. Найденное множество вершин указывает, куда надо поставить ферзей, а их число, которое в данном случае равно пяти, есть число доминирования данного графа.
counter вне форума Ответить с цитированием
Старый 11.05.2009, 14:52   #3
xakep139
Новичок
Джуниор
 
Регистрация: 10.05.2009
Сообщений: 2
Сообщение

Спасибо за подсказку, но доходит с трудом Почитал несколько книжек, понял направление решения. Нужен двумерный массив - матрица смежности графа (поле). Но как его заполнять? Проверять все возможности (рекурсивное решение)?
Цитата:
Сообщение от counter Посмотреть сообщение
их число, которое в данном случае равно пяти
Почему именно пяти? И что значит в данном случае? Размер поля ведь произвольный.
Можно ли использовать алгоритм Магу для поиска множеств внешней устойчивости и как это реализовать??

Последний раз редактировалось xakep139; 11.05.2009 в 16:59.
xakep139 вне форума Ответить с цитированием
Старый 11.05.2009, 18:33   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
Почему именно пяти? И что значит в данном случае?
это в книге пример был какойто, так что не обращайте внимания


Вот что я нашел, посмотрите может пригодится:

http://forum.sources.ru/index.php?showtopic=143686
http://www.refal.net/doc/romanenko/rfplus/chp-1101.html
http://golovolomka.hobby.ru/books/gik/04.shtml
http://www.codenet.ru/progr/alg/8-queens/
http://www.mgopu.ru/PVU/2.1/Recurs/B...turn/queen.htm
http://www.piter.com/lib/97858878227...ml?fil=oop_ch5

Последний раз редактировалось counter; 11.05.2009 в 18:37.
counter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача про 3 прямые meds Паскаль, Turbo Pascal, PascalABC.NET 5 17.11.2008 12:24
Задача про треугольник YO$YA Помощь студентам 10 15.11.2008 20:29
Решение задачи про ферзей yuran80 Паскаль, Turbo Pascal, PascalABC.NET 5 08.10.2008 12:59
8 ферзей slim5 Общие вопросы Delphi 0 15.06.2008 11:46
Оп, другая тема про дату Funky_man Microsoft Office Excel 5 09.01.2008 04:30