Помощь - Поиск - Пользователи - Календарь
Полная версия: Рекурсия, матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Kinder
Задача: дана матрица, допустим 10х10. В клетке (1,1) помещаются "бактерии", за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали, и т.д. Вычислить за какое кол-во ходов бактерии заполнят всю матрицу. Че то я не могу сообразить как запустить эту же подпрограмму для двух сразу клеток (для (1,2) и (2,1)).
Michael_Rybak
по очереди. сначала для (1,2), потом для (2,1).
renesko1
Можно соорудить очередь. Заносим координаты 1ых клеток в нее. Заражаем соседние, заносим координаты
новых зараженных клеток в очередь(конец) и удаляем обрабатывемую клетку.
klem4
Зачем в очередь, просто рекурсия, вот только мне единственное непонятно,
Цитата
за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали


Для некоторых клеток и по горизонтали и по вертикали может быть по 2 свободные клетки, по какому принципу выбирать какую из них заполнять ? Выбирать любую доступную (пустую)?
Гость
Это ты говоришь о клетках стоящих по краям? Будем считать что матрица окружена зараженными клетками.
и еще.. я не в курсе что такое очередь, задание решить ее с помощью рекурсии. У меня получается что она заполняется построчно.
volvo
Цитата
У меня получается что она заполняется построчно.
Так сделай, чтоб заполнялась НЕ построчно. Нужна помощь - код (который заполняет матрицу неправильно) в студию.

Телепатов здесь нет... Так же как и желающих потом выслушивать от тебя "а у меня так же, и все равно не работает". Было уже такое неоднократно. Показывай программу - исправим...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.