반응형 BFS25 [BOJ][Python]1389번 풀이 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline def sol(p): visited[p] = True q=deque([]) q.append((p,0)) b_num=0 while q: a = q.popleft() b_num += a[1] for i in edges: if i[0] =.. 2022. 6. 29. [BOJ][Python]7576번 풀이 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net import sys from collections import deque ssr = sys.stdin.readline def sol(r,c,day): if visited[r][c] == True: return visited[r][c] = True for i in range(4): if 0 2022. 6. 23. [BOJ][Python]1697번 풀이 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net from collections import deque n,k = map(int, input().split()) q = deque([[n,0]]) visited = [False for _ in range(100001)] visited[n] = True while 1: if n == k: print(0) break p = q.popleft() a = p[0]-1 b = p[.. 2022. 6. 16. [BOJ][Python]1260번 풀이 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 import copy def dfs(v): visited[v][v] = True print(v, end=' ') for i in range(1,n+1): if visited[v][i] == True and visited[i][i] == False: dfs(i) elif visited[i][v] == True.. 2022. 5. 28. [BOJ][Python]17198번 풀이 https://www.acmicpc.net/problem/17198 17198번: Bucket Brigade The input file contains 10 rows each with 10 characters, describing the layout of the farm. There are exactly one barn, one lake, and one rock. www.acmicpc.net from collections import deque def bfs(r,c): q = deque() q.append((r,c)) t[r][c]=0 while q: r,c = q.popleft() for dr,dc in d: R,C = r+dr, c+dc if 0 2022. 5. 25. 이전 1 2 3 다음 반응형