2022 하계 모각코
[2022 모각코] 4회차 (2022.07.10.)
수빈최
2022. 7. 10. 22:32
학습 목표
: 파이썬 학습
학습 내용
: 백준 문제풀이(1012번)를 통한 파이썬 학습
https://www.acmicpc.net/problem/1012
1012번: 유기농 배추
차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에
www.acmicpc.net
t = int(input())
dx = [1, -1, 0, 0]
dy = [0, 0, -1, 1]
def bfs(x, y):
queue = [[x, y]]
while queue:
a, b = queue[0][0], queue[0][1]
del queue[0]
for i in range(4):
q = a + dx[i]
w = b + dy[i]
if 0 <= q < n and 0 <= w < m and s[q][w] == 1:
s[q][w] = 0
queue.append([q, w])
for i in range(t):
m, n, k = map(int, input().split())
s = [[0] * m for i in range(n)]
cnt = 0
for j in range(k):
a, b = map(int, input().split())
s[b][a] = 1
for q in range(n):
for w in range(m):
if s[q][w] == 1:
bfs(q, w)
s[q][w] = 0
count += 1
print(count)
학습 결과(풀이)
: n과 m크기를 가지는 배열을 만들어준 후 0 값을 1로 바꿈으로써 배추의 위치를 지정해준다. n, m크기의 배열을 차례대로 검사하여 값이 1인 배추가 있다면 bfs를 실행시켜 주위를 검사해 1인 값을 0으로 바꿔준다. bfs를 실행시킬때마다 count값을 증가시켜 결과값으로 count를 출력해준다.