
문제 풀이
처음에는 조금 더 쉬운 접근 방법이 있을것이라고 생각했다. 그이유는 매 선수(사람) 마다 모든 경우의 수로 움직이면서 큐에 담아주면 시간이 오래걸리거나 큐가 터질것이라고 생각했다. 방법이 생각나지 않아 일단 출발점을 정해주는 메소드를 짰다. 결과는 성공적이였다. 하지만 이후 도착점(편의점)으로 가는 방법에 대해 처음 우려했던데로 너무 많은 경우의수가 있었고, 때문에 나는 거리가 가장 긴 것이 마지막에 도착하지 않을까? 라는 생각에 경우의 수를 생각해봤다. 이것은 지나간 출발점이나 도착점에 대해서 더 이상 지나가지 못한다는 제약 떄문에 불가능 했다.
이 와 같이 4의경우 제일 거리가 긴 경우지만 3이 다른수들에게 막혀 더 돌아가게 되면서 안되는것이 증명됐다 남은 방법은 문제해석을 직관적으로 모든 경우의 수를 탐색하는 것이다.
각 사람마다 그럼 방문여부를 파악해서 갔던곳을 또 가면 안되는 방법을 해야하는데 사람이 여러명이므로 이 해결책이 필요해 보인다.
'알고리즘(종합) > Lv.3' 카테고리의 다른 글
코드트리 - 나무박멸(시뮬레이션) (0) | 2023.04.07 |
---|---|
코드트리 - 예술성 (DFS) (0) | 2023.04.05 |
1213 - String (0) | 2022.11.19 |
1215 - 회문1 (0) | 2022.11.19 |
2805 - 농작물 수확하기 (0) | 2022.11.18 |