hik3562   4년 전

틀렸습니다.. 가 되는데

1. 홈에서 편의점 거리 1000 내 있는거 따로 저장하는 Queue

2. 편의점을 다 저장하는 ArrayList

3. 이걸 BFS 로 돌려서 홈에서 시작해서 현재위치를 Queue에 저장되어 있는 편의점 좌표로 계속 갱신,이동할 수 있는 곳이면 Queue에 저장

4. Lock Festival 와 1000 거리 내 있으면 haapy

5. Queue 를 다 봐도 없으면 sad

위 로직으로 구성하였습니다.

조언 부탁드립니다. 감사합니다.

slah007   4년 전

우선, '/' 연산을 하고 나면 나머지를 버리기 때문에, 거리 판단에서 로직이 잘못되었습니다.

input

2
2
0 0
1000 0
1000 1000
2000 1001
2
0 0
1000 0
2000 1000
2000 2000


output

happy (sad가 나와야 함)

sad


TMI: 이 문제는 BFS 말고도 해결이 가능해요!

단 for문 3개만으로 최단경로를 찾아낼 수 있는 floyd-warshall 알고리즘을 적용하면 됩니다.

1. 집, 편의점들, 페스티벌 장소를 정점으로 보고, 서로 거리를 계산해서 20*50=1000블럭 이하이면 갈 수 있다(1), 아니면 없다(INF)으로 표시한다.

2. floyd-warshall 알고리즘으로 모든 정점쌍들 사이 최단경로를 찾는다.

3. 만약 집에서 페스티벌 장소까지 최단경로(<INF)가 존재하면 happy, 존재 안하면 sad를 출력한다.

hik3562   4년 전

우와 이런 자세한 설명까지... 감사합니다. 😊 

hik3562   4년 전

AC 처리 되었는데 다음 요소를 고려 해야 합니다.

앞서 지적 해주신 float 부분 그리고 Queue 를 전역으로 박아놨습니다. 

수정 하면 AC 됍니다. 

👍

댓글을 작성하려면 로그인해야 합니다.