BFS2 백준 1525번 퍼즐 - 문제 설명 퍼즐에 어떤 수와 인접해 있는 네 개의 칸 중에 하나가 비어 있으면, 수를 그 칸으로 이동시킬 수가 있다. 물론 표 바깥으로 나가는 경우는 불가능하다. 우리의 목표는 초기 상태가 주어졌을 때, 최소의 이동으로 위와 같은 정리된 상태를 만드는 것이다. 정리된 퍼즐을 만들기 위해 필요한 최소 이동 횟수를 구하는 프로그램을 작성하시오. * 퍼즐이 정리된 상태 1 2 3 4 5 6 7 8 - 입력 1) 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈 칸은 0으로 나타낸다. - 출력 1) 첫째 줄에 최소의 이동 횟수를 출력한다. *이동이 불가능한 경우 -1을 출력한다. * 문제 풀이의 핵심 1. BFS 이 문제는 퍼즐의 빈칸을 채우기 위해 상하좌우의.. 2020. 12. 5. 백준 13913번 숨바꼭질 4 - 문제 설명 수빈이는 현재 점 N 에 있고, 동생은 점 K 에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. - 입력 1) 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. (0 ≤ N ≤ 100,000), (0 ≤ K ≤ 100,000) - 출력 1) 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 2) 둘째 줄에 어떻게 이동해야 하는지 공백으로 구분해 출력한다. * 문제 풀이의 .. 2020. 12. 1. 이전 1 다음