https://www.acmicpc.net/problem/21938
from collections import deque
import sys
n, m = map(int, input().split())
data = []
dx = [1,-1,0,0]
dy = [0,0,1,-1]
for _ in range(n):
row = list(map(int, input().split()))
data.append(row)
T = int(input())
visit = [[0]*(m) for _ in range(n)]
cnt = 0
new_arr = [[0 for _ in range(m)] for _ in range(n)]
for i in range(n):
for j in range(m):
r, g, b = data[i][3 * j], data[i][3 * j + 1], data[i][3 * j + 2]
avg = (r + g + b) // 3
if avg >= T:
new_arr[i][j] = 255
else:
new_arr[i][j] = 0
def bfs(i,j ) :
q = deque()
q.append((i,j))
while q:
x,y =q.popleft()
for i in range(4) :
nx, ny= dx[i]+x, dy[i]+y
if 0<= nx<n and 0<=ny<m :
if new_arr[nx][ny]>= T and visit[nx][ny]== 0 :
q.append((nx,ny))
visit[nx][ny] = 1
for i in range(n) :
for j in range(m) :
if new_arr[i][j] >= T and visit[i][j] == 0 :
bfs(i,j )
cnt += 1
print(cnt)
'알고리즘 문제풀이' 카테고리의 다른 글
너구리 구구[백준 18126] (1) | 2025.01.28 |
---|---|
거리가 k이하인 트리 노드에서 사과 수확하기[백준 25516] (0) | 2025.01.28 |
현수막[백준 14716] (0) | 2025.01.26 |
숨바꼭질[백준 6118] (0) | 2025.01.26 |
창영이와 점프[백준 22114] (1) | 2025.01.20 |