본문 바로가기
728x90

BFS15

[백준] 10026번: 적록색약 - python https://www.acmicpc.net/problem/10026 약간 귀찮은 BFS문제visted를 두고 방문안했으면 --> 방문처리 R G 를 같게 두고 다시visted 초기화 후 방문안했으면 --> 방문처리 답 출력을 진행한다.from collections import dequeimport sysarr = []dx = [-1, 0 , 1, 0]dy = [0, 1, 0 , -1]n = int(input())visited = [[False] * n for _ in range(n)]for _ in range(n): k = list(input()) arr.append(k)dq = deque()cnt1 = 0for i in range(n): for j in range(n): i.. 2024. 5. 7.
[백준] 13913번: 숨바꼭질 4 - python https://www.acmicpc.net/problem/13913 시험과 플젝 끝난 후 간만에 알고리즘 풀이 BFS이므로 ch 리스트를 체크하는 용도 말고 dis를 넣어서 체크해도 문제가 되지 않는다.그 후 여기선 최단으로 바뀌는 경로의 값을 전부 다 넣어서 출력해줘야되기에 dis안에 전에 now를 넣어서 저장시켜준다.그 후 만약 n == k 가 되면 dis를 돌아서 answer안에 투입 후 출력해준다. from collections import dequen, k = map(int, input().split())ch = [0] * (100001)dis = [0] * (100001)ch[n] = 0dis[n] = 0dq = deque([n])while dq: now = dq.popleft() .. 2024. 5. 6.
[백준] 12851번: 숨바꼭질2 - python https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 아이디어 체크할 필요가 없으니 체크리스트를 제거한 뒤에 거리가 같을 경우 cnt 값을 증가시키며 답을 출력 from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) ch = [0] * 100001 dis = [0] * 100001 cnt .. 2024. 4. 12.
[백준] 13549번: 숨바꼭질 3 - python https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 아이디어 BFS로 탐색을 하면서 순간이동할때는 가중치를 더하지말고, 이동할때는 더해서 dis 리스트에 계속해서 상태트리형식으로 뻗어나가는 형태를 생각하고 문제를 풀었다. 그러던중 신기한 현상이 발생했다. from collections import deque import sys input = sys.stdin.readline n, m = map(int, inpu.. 2024. 4. 12.
728x90