너비우선탐색 7

[python] 백준 7569번: 토마토(BFS)

# 7569 토마토 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque move = [(0,0,1), (0,0,-1), (1,0,0), (0,1,0), (-1,0,0), (0,-1,0)] M, N, H = map(int, input().split()) graph = [[list(map(int, i..

Algorithm 2023.02.23

[python] 백준 3184번: 양(BFS)

# 3184 양 https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque R, C = map(int, input().split()) graph = [list(map(str, input().strip())) for _ in range(R)] visited = [[0] * C for _ in range(R)] dx,..

Algorithm 2023.01.30

[python] 백준 2468번: 안전 영역(BFS)

# 2468 안전 영역 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline from collections import deque N = int(input()) graph = [list(map(int, input().split())) for _ in range(N)] high = 0 for i in range(N): for j in range(N): if graph[i][j] > ..

Algorithm 2023.01.28

[python]백준 11724번: 연결 요소의 개수(그래프)

# 11724 연결 요소의 개수 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net ⭐ 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**7) N, M = map(int, input().split()) graph = [[] for i in range(N+1)] visited = [0] * (N+1) for _ in r..

Algorithm 2023.01.22

[python]백준 12851번: 숨바꼭질 2(BFS)

# 12851 숨바꼭질 2 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 코드 from collections import deque n, k = map(int, input().split()) visited = [0] * 100001 q = deque([(n, 0)]) fast, way = 10 ** 6, 0 while q: now, time = q.popleft() visited[now] = 1 if no..

Algorithm 2023.01.04

[python]백준 1260번: DFS와 BFS(DFS, BFS)

# 1260 DFS와 BFS https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드 from collections import deque N, M, V = map(int, input().split()) graph = [[] for i in range(N+1)] for i in range(M): a, b = map(int, input().split()) graph[a].append(b) graph[b].appe..

Algorithm 2023.01.01

[python]백준 2606번: 바이러스(DFS)

# 2606 바이러스 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 코드 N = int(input()) C = int(input()) graph = [[] for i in range(N+1)] visited = [0] * (N+1) for i in range(C): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) def dfs(M): visited[M] = 1 for n..

Algorithm 2022.12.31
728x90