BFS 3

[백준] 2468 - 안전 영역 (파이썬, Python)

https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 한 지역의 높이 정보가 NXN 배열로 주어지고 비로 인해 물에 잠기지 않은 서로 연결된 영역을 안전 영역이라 할 때, 장마철에 안전 영역의 최대 개수를 구하는 것이 이 문제의 목표입니다. 이 문제에서는 내리는 비의 양은 입력으로 주어지지 않습니다. 하지만, 지역의 높이의 최소 높이와 최대 높이를 알 수 있으므로 비의 양을 적절히 조정하여 테스트를 진행할 수 있습니다. 해당 문제는 그래프 탐색 문제로, 저..

PS/Python 2021.10.10

[백준] 16234 - 인구 이동 (파이썬, Python)

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 이 문제는 너비 우선 탐색(bfs) 문제입니다. 배열 안의 각 칸은 나라를 의미하며, 조건에 맞을 시 주변 국가와 국경을 개방하여 인구를 이동시킵니다. 인구 이동은 매일 진행되며, 이 문제의 목표는 인구 이동이 며칠 동안 발생하는지 구하는 것이다. 접근 방식 1. 날마다 연합국 정보를 초기화한다.(어떠한 연합국에든 속하는지/속하지 않는지 판단하는 정보를 저장) 2. 각 국가를 순회하..

PS/Python 2021.08.29

[백준] 17086 - 아기 상어 2 (파이썬, Python)

https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net 해당 문제는 너비 우선 탐색(bfs)으로 해결하는 문제입니다. 칸 마다 가장 가까운 상어와의 거리를 안전거리라 하며, 이 문제의 목표는 안전거리의 최댓값을 구하는 것입니다. 문제를 해결하기 위한 접근 방법은 두 가지가 있습니다. 방법 1) 빈 칸 마다 너비 우선 탐색을 통해 안전거리를 계산한 후 안전거리의 최댓값을 구한다. 방법 2) 상어의 위치에서 너비 우선 탐색을 ..

PS/Python 2021.08.27