![]() |
|
![]() ![]() ![]() |
|
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: нет Всего: 88 |
B3, C3, C4, C6, C7, D6, E3, F2, F3, F5, F6, G6
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
[QUOTE=Dov,27.2.2006, 23:42]
Решение у этой задачи есть. Если расставить три коня так что они бьют все четыре угловые клетки, то из 3х возможных вариантов,два (зеркальных) являются решением. При заполнение трех оставшихся углов нужно учитывая правило поворота, расставить коней в те же позиции. Сейчас нет времени для более подробного обяснения. ![]() Попозже постараюсь более подробно. |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
да промазал я.
![]() -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
proger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
Dov,
Вот теперь прогу надо написать, которая так раставит! Добавлено @ 08:58 Dov, У тебя не все клетки под ударом! |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
Алгоритм программы такой:
1. Раставляешь коней (любое кол-во) так, чтобы 4 угловые клетки во всех 4-х углах были биты. Получится следуещее: Потом убираешь последователно в каждом углу одного "лишнего" ( того, при убирании которого, все клетки всего поля будут биты)
В конце концов получится "рисунок" как у Dova При таком алгоритме кол-во проверок минимально (в удачном случае находит решение после 8 хода, при неудачном с 20 хода) |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: нет Всего: 88 |
Конечно, не все. На некоторых 'лошади' стоят(8 штук). Если хочешь поставить их под бой тоже, прийдётся добавить ущё 2 коника. Ну, так дерзай, proger. Видишь, и ник у тебя подходящий. ![]() -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
Proger, я написал прогу, там на первой странице. Если немного не так, тогда подправь.
-------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: нет Всего: 88 |
ДобренькийПапаша, плагиатом занимаешься, нехорошо. А может быть тебя зовут А.К.Сахаров из Барнаула? -------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
proger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
Dov, Спасибо за помощь!
|
|||
|
||||
proger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
mes, А прогу нАПИСАТЬ МОЖЕШЬ, А ТО У МЕНЯ НЕ ПОЛУЧАЕТСЯ!
|
|||
|
||||
Dov |
|
|||
![]() аСинизатор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1721 Регистрация: 10.5.2003 Где: Эрец-Исраэль Репутация: нет Всего: 88 |
proger, вот, тупо перевёл на С++ ту прогу, которая на паскале.
Видок у неё ещё тот, но зато работает. А красоту сам наведёш, если захочешь.
-------------------- Тут вечности запах томительный, И свежие фрукты дешевые, А климат у нас – изумительный, И только соседи – #уевые. Игорь Губерман. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
Вариантов для написания проги очень много. В зависимости от того что тебе надо. Думаю, что тебе важно, чтоб компьютер перебрал все возможные варианты независимо от того являются ли они симметричными. Чтоб проверять только те позиции, которые имеет смысл, я разбил задачу на две части. Первая: Как известно конь не может бить угловые клетки в разных углах. Таких клеток 16. (4*4) Вопрос: Могут ли бить 12 коней ети 16 клеток? Каждая клетка может бить "бита" не более чем с девяти позиций: (8 битых +1 когда клетка занята конём) Конь может бить две соседние клетки, только если они рассположены по диагонали
По результату программы видно, что минимальное кол-во коней для перекрытия угловых клеток нужно 12 (нас это устраивает) 4 Коня имеют 5 позиций, другие 4 - 3позиции, и еше 4 Коня могут находится только в 1 положении, значит расставлять нужно только 8 коней. На основе етих данных я создал, список позиций, и методом перебора проверил есть ли среди вариантов такие, которые бы били бы все клетки.
В результате два варианта (зеркальных) где группа из трех коней, симметрична относительно поворота. При проверке во второй части перебираются 50625 позиций. Если учитывать симметрию относительно поворота, (т.е для одного угла) , то сократится приблизительно до 15 позиций. Надеюсь тебе ето поможет. ![]() P.S. Прошу прощение за малое кол-во комментариев и неформатированный код. ![]() Это сообщение отредактировал(а) mes - 9.3.2006, 18:37 Присоединённый файл ( Кол-во скачиваний: 29 ) ![]() |
||||
|
|||||
proger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
Спасибо!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |