Помощь - Поиск - Пользователи - Календарь
Полная версия: Нужен совет
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Halva
доброго времени суток! в школе учитель дал задачу, которую нужно через паскаль решить. задача: дан лес, нужно поджечь дерево и рассчитать время горения леса. вообщем лес я создал и выбрал дерево, с которого начнется пожар. дальше я делаю проверку черех цикл for каждого дерева, стоит ли оно рядом с только что подоженным. если бы рядом стояло только одно дерево и дальше всегда стояло бы только одно дерево, то все просто. а я не знаю, что делать, когда сразу несколько деревьев рядом, как дальше от них вести счет. подскажите. мне решение не нужно, нужно что-то типа совета.
Федосеев Павел
Что-то мне подсказывает, что эта задача несклько похожа на поиск пути из лабиринта. Там решение находится волновым методом поиска пути. У тебя будет условие - "пока не останется непройденных клеток (несгоревших деревьев)".

Не через циклы, а через рекурсию.

Больше добавить нечего, т.к. не уяснил из условия задачи:
- как "загорается" соседнее дерево
- как "горит" дерево
- как представлены данные
- временные интервалы на возгорание, горение

По волновому алгоритму см. 1, 2, 3 и дальше по запросу в поисковике "волновой метод поиска пути", "волновой алгоритм поиска пути"
Halva
все, что вы не уяснили, делается по вашему выбору. я, например, лес создал через двумерный массив и делаю проверку через цикл for каждого дерева, близко ли оно к уже загоревшемуся. загорается, если стоит рядом, т.е. сосед.
Федосеев Павел
Тогда модификация "волнового метода поиска пути".
Рекурсия.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.