[백준/Python] 1012번 유기농 배추

2025. 3. 11. 14:21·알고리즘문제풀이

문제

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


문제 풀이(정답)

from collections import deque

T = int(input())

dx = [0, 0, -1, 1]
dy = [1, -1, 0, 0]

def bfs(x, y):
    queue = deque([(x,y)])
    matrix[x][y] = 0

    while queue:
        x, y = queue.popleft()      # 방문 좌표 제거

        for i in range(4):
            nx = x + dx[i]
            ny = y + dy[i]

            if nx < 0 or nx >= m or ny < 0 or ny >= n:
                continue
            if matrix[nx][ny] == 1:
                queue.append((nx, ny))
                matrix[nx][ny] = 0

for _ in range(T):
    m, n, k = map(int, input().split())
    matrix = [[0] * n for _ in range(m)] # 빈 배추밭
    cnt = 0

    for _ in range(k):
        x, y = map(int, input().split())
        matrix[x][y] = 1 # 배추 위치 표시

    for xx in range(m):
        for yy in range(n):
            if matrix[xx][yy] == 1:
                bfs(xx, yy)
                cnt += 1

    print(cnt)

 

dx,dy를 이용해서 상하좌우 방향 벡터를 정의한 후, BFS를 이용해 문제를 풀어주었다.

 

배추밭을 0과 1로 표현하고 방문한 곳은 0으로 처리해 그래프탐색문제로 풀어주었다.

나에게는 아직 어려운 문제..

저작자표시 비영리 변경금지 (새창열림)

'알고리즘문제풀이' 카테고리의 다른 글

[백준/Python] 9461번 파도반 수열  (0) 2025.03.14
[백준/Python] 1847번 스택 수열  (0) 2025.03.12
[백준/Python] 9095번 1, 2, 3 더하기  (0) 2025.03.10
[백준/Python] 2108번 통계학  (0) 2025.03.06
[백준/Python] 11729번 2×n 타일링  (0) 2025.03.05
'알고리즘문제풀이' 카테고리의 다른 글
  • [백준/Python] 9461번 파도반 수열
  • [백준/Python] 1847번 스택 수열
  • [백준/Python] 9095번 1, 2, 3 더하기
  • [백준/Python] 2108번 통계학
jungyn
jungyn
jungyn 님의 블로그 입니다.
  • jungyn
    jungyn 님의 블로그
    jungyn
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 알고리즘문제풀이 (31)
      • 제로인턴 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    수들의 합 2
    11729
    제로인턴
    1629
    28278
    스택 2
    시간초과
    다이나믹프로그래밍
    SYS
    카드1
    2563
    너비우선탐색
    2차원행렬
    solved.ac
    교점개수
    백준
    1847
    스택
    DP
    통계헉
    사전직무교육
    2108
    BFS
    후기
    2161
    스택 수열
    2606
    프로그래머스
    counter
    18110
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jungyn
[백준/Python] 1012번 유기농 배추
상단으로

티스토리툴바