광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 애플워치 앱 만들기
  • 구현
  • 개념
  • BFS
  • 백준
  • 애플워치 앱
  • 컴퓨터 사이언스
  • OS
  • 드린이
  • 오블완
  • BOJ
  • 자바
  • 프로그래머스
  • 합주
  • 티스토리챌린지
  • DP
  • 다이나믹 프로그래밍
  • 파이썬
  • 운영체제
  • 알고리즘

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Python/파이썬 백준 1012] 유기농 배추(BFS)

2021. 2. 25. 16:07
반응형

www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 

www.acmicpc.net

풀이

#배추 벌레 문제 bfs 돌때마다 증가 시켜주면 되는데 x,y 신경잘써서
from collections import deque
import sys
input=sys.stdin.readline
T=int(input())
dx=[1,-1,0,0]
dy=[0,0,-1,1]



for i in range(T):
  m,n,k=map(int,input().split())
  graph=[[0]*m for _ in range(n)]
  check=[[False]*m for _ in range(n)]
  total=0
  for j in range(k):
    x,y = map(int,input().split())
    graph[y][x]=1
  
  def bfs(x,y):
    queue=deque()
    queue.append((x,y))
    check[x][y]=True
    while queue:
      x,y=queue.popleft()
      for z in range(4):
        nx=x+dx[z]
        ny=y+dy[z]
        if 0<=nx<n and 0<=ny<m and graph[nx][ny]==1 and not check[nx][ny]:
          queue.append((nx,ny))
          check[nx][ny]=True
          

  for row in range(n):
    for column in range(m):
      if graph[row][column]==1 and check[row][column]==False:
        total+=1
        bfs(row,column)
  print(total)
반응형

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

[Python/파이썬 백준 13460] 구슬탈출2 (BFS)  (0) 2021.03.09
[Python/파이썬 백준 2468] 안전 영역(BFS)  (0) 2021.03.04
[Python/파이썬 백준 5104] 스타트링크(BFS)  (0) 2021.03.04
[Python/파이썬 백준 2206] 벽 부수고 이동하기(BFS)  (0) 2021.03.02
[Python/파이썬, Java/자바 백준 7576] 토마토(BFS)  (0) 2021.02.24
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [Python/파이썬 백준 2468] 안전 영역(BFS)
    • [Python/파이썬 백준 5104] 스타트링크(BFS)
    • [Python/파이썬 백준 2206] 벽 부수고 이동하기(BFS)
    • [Python/파이썬, Java/자바 백준 7576] 토마토(BFS)
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바