|
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
|
|
Острова в матрице (Единицы - это острова, а нули - море)09.08.2012, 17:17. Показов 9328. Ответов 7
Метки нет (Все метки)
Имеется матрица (n*m) заполненная 1 и 0. Единицы - это острова, а нули - море. Если единицы находятся рядом по горизонтали или вертикали - то они образуют один остров. Найти количество островов. Интересует компактное короткое решение + комментарий к моему алгоритму
мой алгоритм такой: Завели переменную N для подсчета островов 1) Если элемент массива А[i, j] равен 1 и вокруг него(4 клетки) нет клеток с единицей, то присваиваем А[i, j] ноль, N++ 2) Если элемент массива А[i, j] равен 1 и вокруг него ровно одна клетка с единицей, то присваиваем А[i, j] ноль(получается что А[i, j] является "концом острова" и его можно отсечь, при этом число островов не изменится). 3а) К N приплюсовываем количество островов, которые являются квадратами 2х2(НЕ ЗНАЮ как это сделать) и елементам массива, которые являются вершинами этих квадратов присваиваем 0. 3б) Если элемент массива А[i, j] равен 1 и является вершиной квадратика 2х2, но этот квадратик 2х2 является Частью бо'льшего острова(тоже НЕ ЗНАЮ как это проверить), то вырезаем этот квадратик, не изменяя число островов(всем числам квадратика присваиваем 0) Делаем до тех пор, пока все числа не станут нулями
0
|
|
| 09.08.2012, 17:17 | |
|
Ответы с готовыми решениями:
7
Есть острова и мосты между ними. Нужно обойти все острова, побывав на каждом мосту по разу Интересная программа про "острова в море" Надо найти "острова" на квадратной матрице |
|
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
|
|||||||
| 09.08.2012, 17:48 | |||||||
|
Добавлено через 10 минут
P.S. Как видно метод "разрушающий" - под конец останется нулевая матрица, если надо сохранить исходную, то следует просто сделать копию и работать с ней.
1
|
|||||||
|
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
|
|
| 09.08.2012, 17:49 | |
|
1
|
|
|
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
|
|||
| 09.08.2012, 18:13 [ТС] | |||
|
а свой пункт 3 кстати можно заменить на вырезание не квадратов 2х2 а уголков 2х1 Добавлено через 6 минут SandWraith, какая у вас интересная рекурсия получается, попробую понять как работает Добавлено через 12 минут SandWraith, решение у вас дико красивое ![]() Скажите, а это что, правда очень простая задача или я такой тупой?
0
|
|||
|
189 / 189 / 38
Регистрация: 11.04.2009
Сообщений: 497
|
||
| 09.08.2012, 18:18 | ||
|
В двумерном массиве-матрице есть следующие обозначения: 0 - пустое пространство, 1 - стена, 2 - пользователь, 3 - цель. Пользователь может совершать движение вперед/назад/по диагонали на одну клетку за ход. По/через стены пользователь не ходит. Необходимо найти кратчайший путь от пользователя до цели (за минимальное количество шагов).
0
|
||
|
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
|
|
| 09.08.2012, 18:22 [ТС] | |
|
0
|
|
| 09.08.2012, 18:25 | |
|
Не по теме:
1
|
|
|
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
|
|
| 09.08.2012, 18:29 [ТС] | |
|
SandWraith, не не, как раз хорошо что посадили, большое спасибо, у вас решение 15 строчек, у меня половина занимала под 100
0
|
|
| 09.08.2012, 18:29 | |
|
Помогаю со студенческими работами здесь
8
Платформа Острова 3D модель острова Острова и очередь [Задача] Три острова Карта и острова, очередь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|