Today's special moments become memories of tomorrow.

BOJ

[백준 1405번] 미친 로봇 (java)

lotus lee 2021. 3. 18. 20:15

 

1405번: 미친 로봇

첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고,  모든 확률은 100보다 작거나 같은 자

www.acmicpc.net

 

처음에는 문제를 잘못 읽어서 '단순하다 = 한 번 방문한곳을 또 방문한다'라고 이해하는 바람에 계속 답이 안나왔다. 문제를 올바르게 읽는 것의 중요성을 다시 한번 실감했다...

문제 잘못 읽었더니 30분 넘게 소비해버렸다..

 

이 문제는 dfs방식으로 visited배열을 사용하여 한 번 방문한 곳을 방문하지 않으면서, 총 N번 이동하면 된다. visited배열은 로봇이 최대 14번 이동이 가능하므로 (15, 15)위치에서 로봇이 출발한다고 할 때,

로봇이 움직일 수 있는 범위는 (15, 15)에서 상하좌우 +14, -14 일 것이다.

따라서 visited의 크기를 다음과 같이 잡았다.

boolean[][] visited = new boolean[30][30];

 

문제를 제대로 다시 읽고나니 전형적인 dfs로 정말정말 쉽게 풀 수 있는 문제였다.

 

소스코드 : 

 

'BOJ' 카테고리의 다른 글

[백준 2491번] 수열 (java)  (0) 2021.03.19
[백준 1949번] 우수 마을 (java)  (0) 2021.03.19
[백준 13458번] 시험 감독 (java)  (0) 2021.03.18
[백준 10971번] 외판원 순회 2 (java)  (0) 2021.03.18
[백준 1561번] 놀이 공원 (java)  (0) 2021.03.16