![]() |
|
|
![]()
|
|
| Dashy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Есть задача: дана матрица размером N*N квадратов, каждый из которых раскрашен в произвольном порядке одним из следующих цветов: красным, синим, зеленым, желтым. Необходимо за минимальное кол-во тактов переставить квадраты в матрице т. о., чтобы квадрат каждого цвета хотя бы одной гранью соприкасался с квадратом того же цвета, а в углах матрицы находились, начиная с левого верхнего, квадраты перечисленных цветов.
Может кто знает, как это сделать? какой получается алгоритм? |
|||
|
||||
| Prof_2000 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: нет Всего: 1 |
Тактом считается перестановка двух соседних квадратов, или просто необходимо обеспечить наименьшую сложность алгоритма? Если второе - то просто считаем количество квадратов каждого из цветов и заполняем всю матрицу начиная с углов квадратами нужных цветов.
Иначе - дело обстоит сложнее. Тогда, как я понимаю, необходимо писать динамику. Потому как рекурсия - слишком жирно, жадность работать не будет... Dashy, мне было б интересно вспомнить молодость и написать эту динамику, но для начала нужно быть уверенным, что я правильно понял условие. Поясните. --------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
|||
|
||||
| Dashy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Тактом считается перестановка двух соседних квадратов.
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |