반응형
알고리즘 분류
- 그래프 이론
- 그래프 탐색
- 너비 우선 탐색
- 깊이 우선 탐색
SOLUTION
import sys
from collections import deque
def main():
N, M = map(int, sys.stdin.readline().split())
campus = [list(sys.stdin.readline().rstrip()) for _ in range(N)]
visited = [[False] * M for _ in range(N)]
queue = deque([])
dx = [-1,1,0,0]
dy = [0,0,-1,1]
ans = 0
for i in range(N):
for j in range(M):
if campus[i][j] == "I":
queue.append([i, j])
break
while queue:
x, y = queue.popleft()
visited[x][y] = True
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < N and 0 <= ny < M and visited[nx][ny] == False:
if campus[nx][ny] == "X":
continue
if campus[nx][ny] == "P":
ans += 1
visited[nx][ny] = True
queue.append([nx, ny])
visited[nx][ny] = True
queue.append([nx,ny])
if ans == 0:
print("TT")
else:
print(ans)
if __name__ == "__main__":
main()
'코딩테스트 대비 > BOJ' 카테고리의 다른 글
[Baekjoon/Python] 17144번: 미세먼지 안녕! - 효과는 굉장했다! (0) | 2022.07.24 |
---|---|
[Baekjoon/Python] 14938번: 서강그라운드 - 효과는 굉장했다! (0) | 2022.07.24 |
[Baekjoon/Python] 14502번: 연구소 - 효과는 굉장했다! (0) | 2022.07.24 |
[Baekjoon/Python] 13172번: Σ - 효과는 굉장했다! (0) | 2022.07.24 |
[Baekjoon/Python] 12851번: 숨바꼭질 2- 효과는 굉장했다! (0) | 2022.07.24 |