티스토리 뷰

PS

백준 19238. 스타트 택시

tose33 2022. 6. 1. 14:33

https://www.acmicpc.net/problem/19238

 

19238번: 스타트 택시

첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다

www.acmicpc.net

 

주어지는 조건을 잘 생각해봐야 하는 문제였다.

조건을 잘 따져보지 않아서 몇번 틀려서 시간이 좀 걸렸다.

 

주어지는 출발지와 도착지에 대한 조건이 다음과 같은데

모든 출발지는 서로 다르며, 각 손님의 출발지와 목적지는 다르다.

이 말은 즉 여러개의 목적지들이 같은 좌표일수도 있다라는 뜻이며, 또한 손님1의 도착지와 손님2의 출발지가 같을수도 있다라는 뜻이다.

처음에 이런 조건들을 생각하지 않고 하나의 2차원 배열에 기록했다가 틀렸다.

 

우선 모든 손님들의 출발지 ~ 도착지 까지의 거리를 구해 놓는다.

bfs로 모든 손님들에 대해 구하고 이 중에 도달할수 없는 도착지가 있다면 -1을 출력하고 끝내면 된다.

 

그리고 택시의 위치에서 가장 가까운 손님을 구해야한다.

이때 택시의 위치에 손님이 있는 경우도 고려해줘야 하고, 가장 가까운 손님이 여러명 일 수 있으므로 가장 가까운 손님을 찾아도 바로 bfs를 끝내면 안된다.

 

 

이번 문제도 처음에 조건을 제대로 안따져봐서 금방 풀수 있었는데 시간이 더 걸렸다.

문제를 잘 읽고 조건을 잘 따져보자!

 

'PS' 카테고리의 다른 글

백준 17825. 주사위 윷놀이  (0) 2022.06.04
백준 19237. 어른 상어  (0) 2022.06.03
백준 17837. 새로운 게임2  (0) 2022.05.31
백준 18405. 경쟁적 전염  (0) 2022.05.30
백준 20057. 마법사 상어와 토네이도  (0) 2022.05.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함