Расстановка 5 ферзей... |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Расстановка 5 ферзей... |
Vardes |
9.03.2006 8:28
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Товарищи модераторы!!!!
Воспользовавшись поиском, я не нашёл решения своей задачи, т.к. её необходимо решить рекурсией и суть её совсем в другом... * У меня возникла такая проблема.Необходимо найти расстановку 5 ферзей, при которой каждое поле шахматной доски будет находиться под ударом хотя бы одного из них. Давным давно эта задача уже была решена, вот только програмного кода что-то нигде нет. Помогите, кто чем может... * |
volvo |
9.03.2006 9:19
Сообщение
#2
|
Гость |
Цитата её необходимо решить рекурсией и суть её совсем в другом... Ну, во-первых, тебе дали ссылку на тему, в которой приводятся примеры решения задач такого типа (кстати, РЕКУРСИВНОГО решения!!!)... Во-вторых, у всех подобных задач одна суть: перебор всех возможных расстановок (неважно, рекурсивный он или нет, с BackTracking-ом или нет, СУТЬ от этого не меняется: полный перебор).Внимательно посмотри на приведенные программы, и изменяй их так, как нужно для решения ТВОЕЙ задачи... |
volvo |
9.03.2006 9:57
Сообщение
#3
|
Гость |
Кстати, тебе какой из вариантов нужен? Тот, в котором ферзи угрожают друг другу, но при этом всю доску контролируют, или второй - когда они мало того, что всю доску под прицелом держат, так еще и друг другу не угрожают?
Возможно и то и другое. Вот пример: Эскизы прикрепленных изображений |
Lapp |
9.03.2006 10:03
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Vardes прав, задача другая. Сходство есть, но это не повод закрывать тему.. Я уже почти ответил в нее тогда - вот мой пост.
Я сначала подумал, что решение полным перебором будет слишком медленным. Но чисто из любопытства (сколько же времени это может занять) я набросал прогу. Когда писал, ничего не оптимизировал, рассматриваются абсолютно все комбинации, включая по нескольку ферзей в одной клетке (что по сути есть просто меньшее количество ферзей). Использовал далеко не самые эффективные конструкции и тешил себя мыслью, что потом будет приятно оптимизироать и смотреть, как уменьшается время счета . Но никакой оптимизации не потребовалось! Первый же вариант на моем компе (P4 1900) отстрелялся за доли секунды! Даже скучно.. Решений находит довольно много, но многие одинаковые (отбраковка одинаковых - это другая интересная задача, надо подумать). Выводит: - положение ферзей в обычной шахматной нотации: - положение ферзей (обозначены номерами) на поле: - поле, заполненное цифрами, означающими какой по счету ферзь (последний) бьет это поле. Так что я был немного разочарован . Но когда я задал поиск с доской 10х10 при 8 ферзях - я зачаровался обратно.. Как грится - enjoy! program Queens; -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
9.03.2006 10:20
Сообщение
#5
|
Гость |
Опять ПОЛНЫЕ решения? Ну-ну... И после ЭТОГО вы все еше удивляетесь, ПОЧЕМУ же сами-то они решить не могут? Да вот поэтому и не могут!
Потому, что придет lapp, и напишет программу полностью! И откомпилирует, и проверит, и ошибок однозначно не будет! Можно даже не проверять, Copy+Paste и сдавать... |
Lapp |
9.03.2006 10:29
Сообщение
#6
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Опять ПОЛНЫЕ решения? Ну-ну... И после ЭТОГО вы все еше удивляетесь, ПОЧЕМУ же сами-то они решить не могут? Да вот поэтому и не могут! Потому, что придет lapp, и напишет программу полностью! И откомпилирует, и проверит, и ошибок однозначно не будет! Можно даже не проверять, Copy+Paste и сдавать... Volvo, это же не школа, а форум. Тема меня заинтересовала - я откликнулся, готов продолжить разговор (там есть, о чем, на мой взгляд). Кроме того, это не выглядит как домашнее задание.. Да и решение про ферзей, не бьющих друг друга, тоже практически полное. В правилах нет ничего про полноту решения. В других случаях я соглашусь с тобой (сам то же самое не раз писал), но иной раз - нет. Тебе интересна эта тема? Отвечай.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
9.03.2006 10:49
Сообщение
#7
|
Гость |
Меня эта тема перестала интересовать ровно в тот момент, как она стала ХАЛЯВОЙ для ничего не хотящих делать студентов. Объяснения это одно, а полное, готовое решение на блюдечке - другое.
Цитата Да и решение про ферзей, не бьющих друг друга, тоже практически полное. Это - FAQ. Там и должны быть полные типовые решения, по которым можно разобраться и решить свою задачу, с другими условиями.Цитата В других случаях я соглашусь с тобой (сам то же самое не раз писал), но иной раз - нет. По какому критерию происходит согласие/несогласие? Ты ХОТЯ БЫ статистику сообщений автора смотрел? Видел, какие вопросы он задавал, как ему отвечали? Что он ПОСЛЕ этого опять спрашивал? Посмотри... |
Lapp |
9.03.2006 15:20
Сообщение
#8
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Посмотри... Посмотрел. Намека не понял. Ну, новичок, и не из самых прытких.. Но настойчивость есть. Только мне кажется, мы отходим от темы.. флуд это.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
9.03.2006 17:16
Сообщение
#9
|
Гость |
lapp, Вот тебе ответ: Задача о ферзях, Расстановка 5 ферзей
Сообщение будет удалено через 2 часа после создания... |
Vardes |
9.03.2006 17:32
Сообщение
#10
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Даааа, спасибо, volvo, за вашу критику в мой адрес.....
Знаете бывают такие случаи, когда времени просто не хватает и человек обращается за помощью к своим товарищам. Я благодарен за ваше содействие, но знаете нельзя человека судить по тому, что он пишет на форумах |
мисс_граффити |
9.03.2006 20:09
Сообщение
#11
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
сорри за офф.
не удержалась. Знаете бывают такие случаи, когда времени просто не хватает и человек обращается за помощью к своим товарищам. Принцип "своего времени мало, его экономить надо. А другим делать нечего, пусть за меня порешают". Мило. но знаете нельзя человека судить по тому, что он пишет на форумах ага. А еще нельзя судить по словам, и уж тем более - по делам. Какие бы гадости человек ни делал - его надо считать хорошим. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Vardes |
10.03.2006 0:12
Сообщение
#12
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Lapp, если вам не сложно, прокомментируйте plz переменные, которые вы использовали, а то что-то я ваш алгоритм решения никак не пойму.
Ещё хотел задать вопрос, вашим алгоритмом я получил 11568 вариантов, хотя всего и 4096. Из-за чего появляются одинаковые решения? |
Shashlyk |
28.09.2011 13:14
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: 0 |
Vardes прав, задача другая. Сходство есть, но это не повод закрывать тему.. Я уже почти ответил в нее тогда - вот мой пост. Я сначала подумал, что решение полным перебором будет слишком медленным. Но чисто из любопытства (сколько же времени это может занять) я набросал прогу. Когда писал, ничего не оптимизировал, рассматриваются абсолютно все комбинации, включая по нескольку ферзей в одной клетке (что по сути есть просто меньшее количество ферзей). Использовал далеко не самые эффективные конструкции и тешил себя мыслью, что потом будет приятно оптимизироать и смотреть, как уменьшается время счета . Но никакой оптимизации не потребовалось! Первый же вариант на моем компе (P4 1900) отстрелялся за доли секунды! Даже скучно.. Решений находит довольно много, но многие одинаковые (отбраковка одинаковых - это другая интересная задача, надо подумать). Выводит: - положение ферзей в обычной шахматной нотации: - положение ферзей (обозначены номерами) на поле: - поле, заполненное цифрами, означающими какой по счету ферзь (последний) бьет это поле. Так что я был немного разочарован . Но когда я задал поиск с доской 10х10 при 8 ферзях - я зачаровался обратно.. Как грится - enjoy! program Queens; Скажите Пожалуйста, какой алгоритм вы использовали при написании данного кода? Сообщение отредактировано: Shashlyk - 28.09.2011 13:15 |
Текстовая версия | 29.04.2024 7:15 |