728x90
반응형

너비우선탐색 6

[백준] [Python] 1697번 숨바꼭질 - BFS

www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net Python from collections import deque import sys n, k = map(int, sys.stdin.readline().split()) q = deque() q.append(n) visit = [0]*100001 visit[n] = 1 #첫번째 자리로 되돌아오는 경우를 방지하기 위해 #꼭 넣어주어야 함 while len(q) != 0: n = q.pop..

Algorithm Problems 2021.04.29

[백준] [Python] 4179번 불! - BFS

www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net Python from collections import deque #import time import sys #s = time.time() r, c = map(int, sys.stdin.readline().split()) dx = [0,0,1,-1] dy = [1,-1,0,0] visitJ = [] visitF = [] qJ = deque() qF = deque() maze = [] for a i..

Algorithm Problems 2021.04.28

[백준] [Python] 7576번 토마토 - BFS

www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net Python from collections import deque #import time import sys #s = time.time() col, row = map(int, sys.stdin.readline().split()) dq = deque() dx = [0,0,1,-1] dy = [1,-1,0,0] tomato = [] visit = [] cnt = 0 for a in range(row..

Algorithm Problems 2021.04.28

[백준] [Python] 2667번 단지번호붙이기 - BFS - [대표예제]

www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net Python import sys row = col = int(sys.stdin.readline().rstrip()) board =[ list(map(int, list(sys.stdin.readline().rstrip()))) for _ in range(row) ] dx = [0,0,1,-1] dy = [1,-1,0,0] visit = [[0 for _ in range(col)] for _ in range(row)..

Algorithm Problems 2021.04.27

[백준] [Python] 2178번 미로 탐색 - BFS

www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net Python import sys row, col = map(int, sys.stdin.readline().split()) board =[ list(map(int, list(sys.stdin.readline().rstrip()))) for _ in range(row) ] dx = [0,0,1,-1] dy = [1,-1,0,0] visit = [[0 for _ in range(col)] for _ in range(row)] q = [] cnt =..

Algorithm Problems 2021.04.26

[백준] [Python] 1926번 그림 - BFS

www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net Python import sys row, col = map(int, sys.stdin.readline().split()) board =[ list(map(int, sys.stdin.readline().split())) for _ in range(row) ] dx = [0,0,1,-1] dy = [1,-1,0,0] visit = [[0 for _ in range(col)] for _ in range(row)] q = ..

Algorithm Problems 2021.04.26
728x90
반응형