백준 11724. 연결 요소의 개수
·
백준
https://www.acmicpc.net/problem/11724import sysinput = sys.stdin.readlinesys.setrecursionlimit(10**9)n, m = map(int,input().split())link = [[] for _ in range(n+1)]for _ in range(m): a, b = map(int,input().split()) link[a].append(b) link[b].append(a)ans = 0def dfs(start): visited[start] = 1 for nxt in link[start]: if not visited[nxt]: dfs(nxt)visited = [0] * (n + ..
백준 4179. 불!
·
백준
https://www.acmicpc.net/problem/4179import sysfrom collections import dequeinput = sys.stdin.readlinen, m = map(int, input().split()) # 세로, 가로arr = [list(input().rstrip()) for _ in range(n)]ans = 'IMPOSSIBLE'q = deque()# 지훈이 먼저 큐에 넣기!! 순서 중요!!for i in range(n): for j in range(m): if arr[i][j] == 'J': q.append((0,i,j)) # 0은 지훈(소요시간 0 초기화)# 그 다음 불 큐에 넣기for i in range(n): fo..
백준 1726. 로봇
·
백준
https://www.acmicpc.net/problem/1726import sysfrom collections import dequeinput = sys.stdin.readlineM, N = map(int, input().split())miro = [list(map(int, input().split())) for _ in range(M)]start_r, start_c, start_dir = map(int, input().split())end_r, end_c, end_dir = map(int, input().split())dr = [0, 0, 0, 1, -1]dc = [0, 1, -1, 0, 0]res = 0# 각각의 좌표에 대하여 동서남북 4가지 방향으로 방문처리visited = [[[0] * 5 fo..
백준 1260. DFS와 BFS
·
백준
https://www.acmicpc.net/problem/1260import sysfrom collections import dequeinput = sys.stdin.readlinen, m, v = map(int,input().split())link = [[] for _ in range(n+1)]for _ in range(m): a, b = map(int,input().split()) link[a].append(b) link[b].append(a) link[a].sort() link[b].sort()dfs_visited = [0] * (n+1)dfs_lst = []def dfs(start): dfs_visited[start] = 1 dfs_lst.append(star..
백준 11559. Puyo Puyo
·
백준
https://www.acmicpc.net/problem/11559import sysfrom collections import dequeinput = sys.stdin.readlinearr = [list(input().strip()) for _ in range(12)]ans = 0 # 연쇄 횟수# BFS로 4개 이상의 같은 색 뿌요를 찾는 함수def bfs(si, sj, visited): q = deque([(si, sj)]) visited[si][sj] = True puyo_list = [(si, sj)] color = arr[si][sj] # 뿌요 색상 while q: i, j = q.popleft() for di, dj in [(1, 0), (..
백준 2206. 벽 부수고 이동하기
·
백준
https://www.acmicpc.net/problem/2206import sysfrom collections import dequeinput = sys.stdin.readlinen, m = map(int,input().split()) # 세로, 가로board = [list(map(int,input().strip())) for _ in range(n)]'''최단경로(시작, 끝 포함)한개는 부숴도 됨0 이동가능1 이동불가도착못하면 -1 출력'''visited = [[[0]*2 for _ in range(m)] for _ in range(n)]def bfs(si,sj, crash): q = deque([(si,sj,crash)]) # 0 이면 벽 안부숨, 1 이면 벽부숨 visited[sj][s..