Algorithm/DFS,BFS 2

[python] 백준 Gold4 14502.연구소

문제 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 접근 백트래킹 + dfs 벽을 세울 수 있는 자리에 3개 벽을 세우는 모든 경우를 찾고 모든 경우 마다 안전 영역을 dfs를 통해 구한 후, 가장 큰 값을 구해준다. 코드 from collections import deque # import copy import sys input = sys.stdin.readline def bfs(): # copy_area = copy.deepcopy(area) -> 속..

Algorithm/DFS,BFS 2023.05.18

[python] 백준 Silver1 1697.숨바꼭질 / BFS

문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 접근 큐 자료구조를 이용하는 BFS로 풀이하면 최단 경우의 수(거리?)를 구할 수 있는 것을 잘 생각하면 코드 자체는 쉽다. 1. 큐에 있는 수 중에 k가 나올 때까지 while문은 돌게 된다. 2. 이동할 수 있는 방법은 +1, -1, *2이므로 항상 세 지점에 도달하는 시간을 계산하면서 queue에 넣어준다. 코드 from collections import de..

Algorithm/DFS,BFS 2023.05.13