분리-집합

1. 문제 풀이 각 칸을 하나의 집합이라는 관점으로 본다면 disjoint-set의 형태로 치환할 수 있습니다. union-find를 union by size로 구현한 다음 flood fill 기법으로 이동할 수 있는 칸들을 서로 union 하여 크기를 구할 수 있습니다. loop를 돌면서 벽인 곳을 찾아 인접한 네 칸을 확인하여 이동할 수 있는 칸이라면 집합의 크기를 더해주어 출력하시면 됩니다. 이때 인접한 칸 중 서로 같은 집합인 경우가 존재하므로 이진트리 set를 이용해 중복을 제거하여 구해주었습니다. 알고리즘 분류를 까보았는데 분리-집합과 이진트리가 빠져있는걸보면 정해가 존재하고 이건 별해인 것 같습니다. 2. 코드#include using namespace std;typedef long long..
YouWallHyeok
'분리-집합' 태그의 글 목록