https://www.acmicpc.net/problem/6181

 

6181번: 플러드 필 (Flood Fill)

(1,1) - (3,3) - (2,2) 셀은 연결되었으며, (10, 10) 셀은 혼자이다. 섬의 개수는 2개이고, 가장 큰 섬은 크기가 3이다.

www.acmicpc.net

딱봐도 Union-find를 쓰고싶게 생겼다. 

https://justicehui.github.io/usaco/2020/12/04/BOJ6181/

 

백준6181 플러드 필 (Flood Fill)

문제 링크 http://icpc.me/6181

justicehui.github.io

에 나온 것처럼, 45도 돌리면 체비셰프 거리가 된다. x좌표로 스위핑하면서 Set에 y좌표 저장하고, Set 보면서 지금 보고 있는 정점의 Y좌표-D 부터 Y좌표까지 중에서 아무거나와 Union 하고, Y좌표부터 Y좌표+D까지 아무거나와 Union 해주면 된다. 아무거나와 해줘도 되는 이유는 잘 관찰하면 어차피 걔네들끼리 이미 같은 분리 집합에 들어 있다는걸 알 수 있기 때문.

'알고리즘 > 백준' 카테고리의 다른 글

백준 15480 LCA와 쿼리  (0) 2023.02.14
백준 1772 정원 정리  (0) 2023.02.09
백준 11873 최대 직사각형  (1) 2023.02.04
백준 1733 등번호  (0) 2023.02.03
백준 25257 Monty's Hall  (0) 2023.02.01

+ Recent posts