[BOJ] #18405 경쟁적 전염 (Python)
🌱 문제 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 🌱 풀이 0. 입력 받기 n, k = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int, input().split()))) s, x, y = map(int, input().split()) 첫째줄에 시험관의 크기(n)와 바이러스의 종류의 개수(k)를 입력받습니다. 다음 n개에 줄에 시험관의 정보를 입력받습니다. 마지막 줄에 시간(s..
[BOJ] #2178 미로 탐색 (BFS, Python)
0. 문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 1. BFS 이 문제를 BFS로 풀어야 하는 이유는 BFS는 시작 지점에서 가까운 노드부터 탐색하기 때문입니다. 이 문제는 (1, 1)에서 출발하여 (N, M)의 위치까지 이동할 때 지나야 하는 최소의 칸 수를 구해야 하므로 BFS 알고리즘으로 풀어야 적절합니다. 1. 우선, (0, 0)을 큐에 넣고 방문 처리합니다. (현재 queue: (0, 0)) 2. 큐에서 (0, 0)을 빼고 (0, 0)에서 상하좌우로 움직일 수 있고 한번도 방문하지 않은 칸을 큐에 넣고 방문처리한 후, 그래..