Рекурсия, матрица, Бактерии :-Р |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Рекурсия, матрица, Бактерии :-Р |
Kinder |
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Задача: дана матрица, допустим 10х10. В клетке (1,1) помещаются "бактерии", за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали, и т.д. Вычислить за какое кол-во ходов бактерии заполнят всю матрицу. Че то я не могу сообразить как запустить эту же подпрограмму для двух сразу клеток (для (1,2) и (2,1)).
|
Michael_Rybak |
Сообщение
#2
|
Michael_Rybak Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
по очереди. сначала для (1,2), потом для (2,1).
|
renesko1 |
Сообщение
#3
|
поиск Группа: Пользователи Сообщений: 347 Пол: Мужской Реальное имя: nir Репутация: 2 |
Можно соорудить очередь. Заносим координаты 1ых клеток в нее. Заражаем соседние, заносим координаты
новых зараженных клеток в очередь(конец) и удаляем обрабатывемую клетку. -------------------- typedef void Śūnyatā ;
|
klem4 |
Сообщение
#4
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Зачем в очередь, просто рекурсия, вот только мне единственное непонятно,
Цитата за один раз они закрашивают(заполняют собой) 1 соседнюю клетку по вертикали и горизонтали Для некоторых клеток и по горизонтали и по вертикали может быть по 2 свободные клетки, по какому принципу выбирать какую из них заполнять ? Выбирать любую доступную (пустую)? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Гость |
Сообщение
#5
|
Гость |
Это ты говоришь о клетках стоящих по краям? Будем считать что матрица окружена зараженными клетками.
и еще.. я не в курсе что такое очередь, задание решить ее с помощью рекурсии. У меня получается что она заполняется построчно. |
volvo |
Сообщение
#6
|
Гость |
Цитата У меня получается что она заполняется построчно. Так сделай, чтоб заполнялась НЕ построчно. Нужна помощь - код (который заполняет матрицу неправильно) в студию.Телепатов здесь нет... Так же как и желающих потом выслушивать от тебя "а у меня так же, и все равно не работает". Было уже такое неоднократно. Показывай программу - исправим... |
Текстовая версия | 20.04.2024 2:13 |