설모의 기록
[백준 1600] 말이 되고픈 원숭이 본문
이 문제는 상, 하, 좌, 우로 1칸씩 이동하거나 말처럼 입력받은 K번만큼만 (상, 하) (좌, 우)로 두칸 또는 한칸씩 움직여 오른쪽 아래칸으로 이동하는데에 걸리는 시간을 구하는 문제입니다. 처음엔 DFS로 푸는게 더 간단할거라 생각해서 DFS로 풀다가 시간초과를 해결하지 못해 BFS로 방법을 바꿔 풀었습니다. 이번에는 계속 틀리길래 다른 분들의 코드를 검색해봤지만 로직이 뭐가 다른건지를 이해를 못했습니다T^T 2일동안 답답해하다 오류를 발견했는데, 저는 길을 찾지 못할 때 지금까지 걸린 시간을 출력해주고 있었습니다. -1을 반환해주는 코드로 바꾸니 맞았습니다. 너무 허탈하네요..
기본 BFS에서 사용하는 dx, dy 배열을 12 길이의 배열로 바꾸고 for문에서 인덱스가 4보다 작을 때와 클 때를 나누어 로직을 구현했습니다. 코드는 아래에 첨부하겠습니다.
'알고리즘' 카테고리의 다른 글
[백준1987] 알파벳 (0) | 2018.05.04 |
---|---|
[백준 1012] 유기농 배추 (0) | 2018.05.02 |
[백준 14919] 분포표 만들기 (0) | 2018.05.02 |
[백준 6603] 로또 (0) | 2018.05.02 |
[백준 1389] 케빈 베이컨의 6단계 법칙 (0) | 2018.05.02 |
Comments