-
https://www.acmicpc.net/problem/16928
16928번: 뱀과 사다리 게임
첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%2016928
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 사라리 뱀 게임 문제다 사다리는 위의 방향으로 연결되어있고,
뱀은 아래의 방향으로 연결되어있다.
1에서 출발해서 100까지 갈때 최소 주사위 던지는 수를 구하는 문제다.
초등학생 시절 이런 보드게임을 해본 기억이있고 해당문제는 이 보드게임 문제였다.
문제는 bfs를 이용해서 해결했으며, 문제자체는 크게 어렵지 않았다.
다만 처음 문제를 제출했을때 틀렸다고 나와서 코드를 보면서 생각해보니
만약 현재 지점에서 주사위로는 갈수있는곳이 방문을 안했지만, 뱀 또는 사다리로 연결된 곳이
이미 방문했을수도 있어서 해당 부분을 방문채크해주는걸 추가하고나니 문제를 해결할수 있었다.
뱀과 사다리 정보를 입력받아서 배열에 넣어주고, 큐에 1의값 시작값을 넣어준뒤
bfs를 돌려주며, 1~6을 더해가면서 해당 지점이 방문했거나 100을 벗어나면 무시하고
그렇지 않으면 이제 뱀과 사다리 연결되었는지로 구분해서
각각 처리를 해주면 된다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 14502 연구소 JAVA (0) 2021.11.12 Baekjoon 9205 맥주 마시면서 걸어가기 JAVA (0) 2021.11.12 Baekjoon 18352 특정 거리의 도시 찾기 JAVA (0) 2021.11.11 Baekjoon 9084 동전 JAVA (0) 2021.11.11 Baekjoon 4883 삼각 그래프 JAVA (0) 2021.11.11 댓글