Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка матрицы, оптимальная сортировка 
:(
    Опции темы
Dashy
Дата 11.3.2007, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



Есть задача: дана матрица размером N*N квадратов, каждый из которых раскрашен в произвольном порядке одним из следующих цветов: красным, синим, зеленым, желтым. Необходимо за минимальное кол-во тактов переставить квадраты в матрице т. о., чтобы квадрат каждого цвета хотя бы одной гранью соприкасался с квадратом того же цвета, а в углах матрицы находились, начиная с левого верхнего, квадраты перечисленных цветов.


Может кто знает, как это сделать? какой  получается алгоритм?
PM MAIL   Вверх
Prof_2000
Дата 11.3.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 26.3.2005
Где: Харьков, Украина

Репутация: нет
Всего: 1



Тактом считается перестановка двух соседних квадратов, или просто необходимо обеспечить наименьшую сложность алгоритма? Если второе - то просто считаем количество квадратов каждого из цветов и заполняем всю матрицу начиная с углов квадратами нужных цветов.
Иначе - дело обстоит сложнее. Тогда, как я понимаю, необходимо писать динамику. Потому как рекурсия - слишком жирно, жадность работать не будет... 

Dashy, мне было б интересно вспомнить молодость и написать эту динамику, но для начала нужно быть уверенным, что я правильно понял условие. Поясните.
--------------------
Pereant qui ante nos nostra dixerunt! (лат.)      Да погибнут те, кто раньше нас высказал наши мысли!   
PM MAIL WWW ICQ   Вверх
Dashy
Дата 12.3.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.3.2007

Репутация: нет
Всего: нет



Тактом считается перестановка двух соседних квадратов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.