Задачи про систему непересекающихся множеств
Реализация с помощью леса
Тесты находятся в каталоге union-find-forest
, в первой строке входного файла находится размер множества $n$ и количество операций объединения $k$. В каждой следующей из $k$ строк даны по два числа от $0$ до $n-1$, два множества с указанными элементами необходимо объединить. Вы должны вывести NO
, если эти два элемента не были в одном множестве до объединения, и YES
, если были. Всего должно получиться $k$ строк с ответами.
Материалы:
- Кратко: СНМ (реализация с помощью леса корневых деревьев)
- Подробно: https://e-maxx.ru/algo/dsu
Количество островков в озере
Эту задачу мы не обсуждали на лекциях. Я пишу условие кратко, надеюсь, оно будет понятно, а тесты его пояснят. Тесты находятся в каталоге image-clusterization
.
В первой строке дана высота озера $m$ и ширина $n$. В следующих $m$ строках есть по $n$ символов, точек или диезов. Каждый диез — это земля, а точка — вода. Острова состоят из кусочков земли, которые соединяются горизонтально или вертикально (не по диагонали). Надо посчитать и вывести количество островов в озере.