Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2014, 21:12   #1
lawliet93
Форумчанин
 
Регистрация: 30.08.2011
Сообщений: 102
По умолчанию Алгоритм поиска цикла в матрице

Хай. Смотрите, какое задание. Есть матрица. Ячейки могут быть закрашенными или незакрашенными. И так. Нам необходимо построить цикл, элементами которого будут ячейки этой самой матрицы.
Правила, по которым строится цикл:
1) Цикл должен начинатся с незакрашенной ячейки.
2) С ячейки на ячейку мы можем переходить только четко горизонтально или четко вертикально, то есть нельзя использовать пути по диагонали.
3) Менять направление пути мы можем только в закрашенных ячейках, и только эти ячейки входят в цикл.
Вот вам несколько примеров в картинках.

Здесь красная ячейка - начало цикла.
Коричневые и синие ячейки - закрашенные ячейки, но только синие входят в цикл.
Какие у вас мысли по поводу алгоритма поиска такого цикла? А то у меня только полный перебор в голове сидит, и то, я не знаю, как его осуществить.
lawliet93 вне форума Ответить с цитированием
Старый 16.05.2014, 18:29   #2
lawliet93
Форумчанин
 
Регистрация: 30.08.2011
Сообщений: 102
По умолчанию

ни у кого идей нету?
lawliet93 вне форума Ответить с цитированием
Старый 16.05.2014, 21:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

какой максимальный размер матрицы?
нужно пройти по всем ячейкам или это не важно?
можно ли проходить по одной и той же ячейке дважды?
Каковы условия оптимизации?
Если допустимо несколько вариантов, какой выбирать - любой?
чем не устраивает банальный перебор?

да, и Вы, надеюсь, понимаете, что при некоторых вариантах расположения может быть так, что построть путь вообще невозможно?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.05.2014, 22:25   #4
lawliet93
Форумчанин
 
Регистрация: 30.08.2011
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
  1. какой максимальный размер матрицы?
  2. нужно пройти по всем ячейкам или это не важно?
  3. можно ли проходить по одной и той же ячейке дважды?
  4. Каковы условия оптимизации?
  5. Если допустимо несколько вариантов, какой выбирать - любой?
  6. чем не устраивает банальный перебор?

да, и Вы, надеюсь, понимаете, что при некоторых вариантах расположения может быть так, что построть путь вообще невозможно?...
  1. Он может быть вообще любым, как 4 на 4, так и 20 на 30.
  2. Неважно, главное - найти цикл.
  3. Нельзя
  4. Вообще, главное во всех задачках такого типа, это найти ответ за минимальное время, ну и тут так же, в общем, чтобы находило ответ за минимальное возможное время
  5. Да, любой
  6. Он кажется слишком громостким, и мне лень сидеть и писать его, ведь должно существовать более изящное решение, а то я уже сталкивался с такой фигней, когда у тебя есть задачка, её нужно сделать, и ты прям берешь и делаешь сразу без раздумий в лоб, и оно-то работает, но там столько лишних действий и так много кода, что прям пипец

конечно понимаю, если нету цикла, то необходимо это определить
lawliet93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм нахождения Эйлерова цикла RomanSpark Помощь студентам 0 15.06.2012 18:21
Разработать программу поиска суммы всех элементов, расположенных на главной диагонали и выше её в матрице (Pascal) sanek306 Помощь студентам 4 21.11.2011 11:08
алгоритм цикла в Delphi dearkato Помощь студентам 0 30.10.2011 17:30
алгоритм цикла в Delphi dearkato Помощь студентам 6 19.10.2011 10:55
алгоритм поиска незнайка_на_земле Помощь студентам 4 08.03.2011 10:46