본문 바로가기

BFS25

[백준-골드3] 19238번 스타트 택시(BFS, 구현, 파이썬) https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net - N*N 영역에 M명의 손님이 있고, 초기 연료량은 K이고, 처음 택시의 시작 좌표가 주어진다. - 격자에는 0은 빈칸, 1은 벽이고 벽은 이동할 수 없다. - 택시의 위치에서 최단경로에 있는 손님을 태운다. 이때 거리만큼 연료량이 감소한다. - 최단경로에 있는 손님이 여러명이면 행 번호가 작은순, 열번호가 작은순 - 손님을 태우고 손님의 목적지로 최단경로.. 2022. 4. 15.
[백준-골드3] 23228번 주사위 굴리기2 (구현, BFS, 파이썬) https://www.acmicpc.net/problem/23288 23288번: 주사위 굴리기 2 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼 www.acmicpc.net - 크기가 N*M 지도가 존재, 주사위를 K번 이동 - 주사위에는 1-6까지 숫자가 적혀있음. 초기 주사위의 이동방향은 동쪽 - 주사위가 이동 방향으로 한칸 굴러감, 만약 이동 방향으로 갔을 때 지도를 이탈한다면 이동 방향을 반대(180도)로 한 후 움직임 - 주사위가 도착한 칸에 대한 점수를 획득 - 점수는 해당 칸에서 동서남북으로 이동할만큼 이동, 이 때 해당칸과 숫자가 같은.. 2022. 4. 13.
[백준-골드2] 21609번 상어 중학교(BFS, 구현, 파이썬) https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net - N*N 격자의 모든 칸에는 블록이 하나씩 있다. -1: 검정색, 0:무지개, 1-M :일반 색 블록 - |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸 (r1, c1)과 (r2, c2)를 인접한 칸 -> 상, 하, 좌, 우 - 블록 그룹은 연결된 블록의 집합이다. - 블록 그룹의 크기는 2이상, 일반 블록이 1개 이상 포함되어 있어야한다. 검정 블록은 포함하면 안됨 - 이 .. 2022. 4. 4.
[백준-실버1] 16953번 A -> B (BFS, 파이썬) https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A 이 때 리스트를 사용하고 크기를 b +1로 지정하면 메모리초과가 발생한다. (b는 최대 10**9 이기때문) - bfs에서 처음 큐에 a를 삽입하고, 딕셔너리에 a를 키로 갖고, 값은 1을 넣어준다. - 큐에서 뽑으면서 x에 대입한다. 이 때 반복문은 두가지 연산에 .. 2022. 3. 14.