백준 2146. 다리 만들기
·
백준
https://www.acmicpc.net/problem/2146import sysfrom collections import dequeinput = sys.stdin.readline# 입력받기N = int(input())board = [list(map(int, input().split())) for _ in range(N)]# 방향 벡터 (상, 하, 좌, 우)directions = [(-1, 0), (1, 0), (0, -1), (0, 1)]# 섬 구분하기def mark_islands(): island_id = 2 # 섬의 ID는 2부터 시작 for i in range(N): for j in range(N): if board[i][j] == 1: # 아직 방..
백준 2583. 영역 구하기
·
백준
https://www.acmicpc.net/problem/2583import sysfrom collections import dequeinput = sys.stdin.readline# 입력 받기M, N, K = map(int, input().split())paper = [[0] * N for _ in range(M)] # 종이 배열# 직사각형 채우기for _ in range(K): x1, y1, x2, y2 = map(int, input().split()) for i in range(y1, y2): # y 좌표 범위 for j in range(x1, x2): # x 좌표 범위 paper[i][j] = 1 # 색칠된 영역 표시# 방향 벡터 (상하좌우)dir..
백준 3055. 탈출
·
백준
https://www.acmicpc.net/problem/3055import sysfrom collections import dequeinput = sys.stdin.readliner, c = map(int, input().split()) # 세로 r, 가로 carr = [list(input().strip()) for _ in range(r)]# 방향 벡터directions = [(1, 0), (-1, 0), (0, 1), (0, -1)]# 방문 배열visited = [[0] * c for _ in range(r)]# 큐 선언water = deque() # 물의 이동 큐hedgehog = deque() # 고슴도치의 이동 큐# 초기 상태에서 물과 고슴도치의 위치 저장for i in range(r):..
백준 1987. 알파벳
·
백준
https://www.acmicpc.net/problem/19871. 시간초과(in사용)import sysinput = sys.stdin.readliner, c = map(int,input().split()) # 세로, 가로arr = [list(input().rstrip()) for _ in range(r)]visited = []ans = 0visited.append(arr[0][0])def back(i,j,depth): global ans ans = max(ans, depth) for di, dj in [(1,0),(-1,0),(0,-1),(0,1)]: ni, nj = i+di, j+dj if 02. 숫자로 바꿈 + pypyimport sysinput = sys..
백준 1525. 퍼즐
·
백준
https://www.acmicpc.net/problem/1525from collections import dequedef solution(): # 3x3 퍼즐 입력 받기 start = '' for _ in range(3): start += ''.join(input().split()) # 목표 상태 target = "123456780" # 이동 방향 (상, 하, 좌, 우) directions = [-3, 3, -1, 1] # BFS 초기화 queue = deque([(start, start.index('0'), 0)]) # (현재 상태, 0 위치, 이동 횟수) visited = set() visited.add(start) wh..
백준 7576. 토마토
·
백준
https://www.acmicpc.net/problem/7576import sysfrom collections import dequeinput = sys.stdin.readlinem, n = map(int, input().split()) # 가로 m, 세로 narr = [list(map(int, input().split())) for _ in range(n)] # 입력 배열# 방향 벡터 (상, 하, 좌, 우)directions = [(1, 0), (-1, 0), (0, -1), (0, 1)]def bfs(): q = deque() # 익은 토마토 위치를 모두 큐에 추가 for i in range(n): for j in range(m): if arr[i..