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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2019, 12:01   #1
zLaiNox
Новичок
Джуниор
 
Регистрация: 01.11.2019
Сообщений: 1
По умолчанию Задача C++. По карте подсчитать количество озер, образовавшихся в результате повышения уровня воды на h единиц

Задали задачу.
У вас есть карта макета, представляющая собой лист, расчерченный на квадраты в каждом из которых указана высота участка над уровнем моря(высота является целым неотрицательным числом). Вам необходимо подсчитать количество озер, образовавшихся в результате повышения уровня воды на h единиц. Озером будем считать квадрат или группу квадратов, которые по высоте ниже уровня воды(касание озер углами квадратов допускается).

Пример ввода
2 3
4
5 3 2
1 4 1
Вывод - 2
Озера
* 3 2
1 * 4
Код с идеей могу скинуть. Нужна помощь срочно

Последний раз редактировалось zLaiNox; 01.11.2019 в 12:26.
zLaiNox вне форума Ответить с цитированием
Старый 01.11.2019, 12:35   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Цитата:
Сообщение от zLaiNox Посмотреть сообщение
Код с идеей могу скинуть
Код (с пояснением что не получилось реализовать) сразу нужно было размещать, еще в первом посте.
Без Ваших наработок помощь только в разделе Фриланс, за умеренную плату.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 01.11.2019, 13:42   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

решение есть тут
Update - там задача чуть другая, сорри

ну а так, очевидно, что задача разбивается на два этапа.
1) построить по уровням высот матрицу 0 1
1 0 0
0 1 0

1 - не озеро, 0 - озеро

2) подсчитать количество связанных по вертикали/горизонтали нулевых элементов
я бы делал банальный перебор с пометкой (нумерацией) связанных точек.
* 1 1
2 * 1

максимальная пометка - это и есть ответ.

p.s. не учитывается ситуация (в условиях ничего не сказано) про то, попадает ли вода в закрытые области
например,
для входной матрицы
Код:
5 5
4
5 5 5 5 5 
5 1 1 1 5 
5 1 1 1 5 
5 1 1 1 5 
5 5 5 5 5
ответ ноль или один?

Последний раз редактировалось Serge_Bliznykov; 01.11.2019 в 13:55.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дана строка состоящая из групп нулей и единиц. Подсчитать количества единиц в группах с нечетным количеством символов (на Delphi) ArturBattalov Помощь студентам 1 06.10.2013 16:16
подсчитать количество символов в самой короткой группе, в строке, состоящей из групп нулей и единиц misher Помощь студентам 6 22.10.2012 09:53
дан массив из 10 байт. Подсчитать количество единиц во всех разрядах кратным 3: 3,6,9...75,78 СмирГум Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 25.01.2012 10:49
подсчитать количество единиц входящий в текст LILI26092009 Помощь студентам 1 07.11.2010 09:58