|
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 5
|
|
Нужно написать программу для расстановки 5 ферзей на шахматной доске20.12.2016, 11:36. Показов 7178. Ответов 11
Метки нет (Все метки)
Нужно написать программу для расстановки 5 ферзей на шахматной доске,чтобы эти 5 ферзей били всё поле и вывести число вариантов расстановки без повторений. Не могли бы вы помочь с решением данной задачи,голова совсем не соображает. Понимаю,что нужно создать массив и 64 элементов,массив из 5 элементов,но как расставить этих ферзей в массив и проверить диагонали я ни б ни м. Не могли бы вы помочь разобраться во всем этом,пояснить и разъяснить всё.
0
|
|
| 20.12.2016, 11:36 | |
|
Ответы с готовыми решениями:
11
Расстановка ферзей на шахматной доске
|
|
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
|
||||||
| 20.12.2016, 13:26 | ||||||
|
если без числа вариантов для расстановки то:
1
|
||||||
|
73 / 73 / 18
Регистрация: 29.11.2011
Сообщений: 356
|
|
| 20.12.2016, 13:28 | |
|
А зеркальные и повернутые одинаковые расстановки считаются за разные варианты?
Добавлено через 35 секунд jurok_85, только собрался заняться =(
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
| 20.12.2016, 13:54 | ||||||
jurok_85, в вашем варианте ферзи не бьют все поле, да и находит только один вариант.
1
|
||||||
|
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
|
|
| 20.12.2016, 14:16 | |
|
MrGluck, ну ферзи то бьют всё поле, а вариант только один согласен
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 20.12.2016, 14:20 | |
|
В моём коде есть нюанс с переходом разряда (78 строчка). Возможно, мы получим повторную комбинацию, но мне уже не охота дальше возиться.
Есть 100% вариант - перебирать вообще все комбинации, сортировать их и складывать в какой-нибудь контейнер без повторений, но такой вариант будет намного дольше работать и производить ненужные итерации. Вообщем, если есть желание - стоит разобраться с перебором комбинаций.
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||
| 20.12.2016, 15:25 | |||||||
|
Интересно было бы посмотреть на рекурсивное решение задачи.
Добавлено через 3 минуты Добавлено через 55 минут Количество комбинаций 4860. Добавлено через 3 минуты Лучше конечно поменять принцип "увеличения разряда", но для сдачи пойдет и проверка is_sorted.
2
|
|||||||
| 21.12.2016, 06:00 | ||||||||
Сообщение было отмечено qwefunnys как решение
Решение
2
|
||||||||
|
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 5
|
|
| 21.12.2016, 07:35 [ТС] | |
|
_Ivana, Можешь немного разъяснить строчки кода,ну прокомментировать их,если не сложно)
Добавлено через 14 секунд А так всем спасибо огромное за помощь!
0
|
|
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 21.12.2016, 09:28 | ||
|
Ф-ция good проверяет что ферзи бьют всё поле. Массивы x и y содержат координаты ферзей. cnt - счётчик комбинаций. s - размер поля c - количество ферзей Ф-ция show выводит результат (текущие координаты всех ферзей) Вся работа происходит в ф-ции f, которая перебирает комбинации и расставляет ферзей. Если удалось расставить 5 ферзей и они бьют всё поле - выводим координаты и выходим из рекурсии. Пробуем подобрать координаты для текущей отметки. Если вышло - добавляем их в массив координат и вызываем рекурсивно функцию, увеличивая переданное число.
2
|
||
|
0 / 0 / 0
Регистрация: 19.03.2020
Сообщений: 1
|
|
| 19.03.2020, 20:39 | |
|
А можно вопрос по поводу того что передаем в f(), что это ? какая-то метка ?
0
|
|
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
|
| 15.01.2023, 03:59 | |
|
я взял доску, за пару минут нашёл что достаточно поставить 5 ферзей вдоль диагонали a2-g8 : на a2, c4, d5, e6, g8
0
|
|
| 15.01.2023, 03:59 | |
|
Помогаю со студенческими работами здесь
12
Расставить 8 ферзей на шахматной доске 8 на 8, которые не бьют друг друга
Реализовать программу по распределению 8 слонов по шахматной доске Составить программу, которая вычисляет, сколько всего зёрен оказалось на шахматной доске Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|