백준

15686번 치킨배달(DFS)

조주똥 2020. 5. 15. 23:23

#문제링크 : https://www.acmicpc.net/problem/15686

<1st try>

city : 주어진 도시의 형태를 담을 2차원 배열 / N : 배열 크기  / M : 여러개의 치킨집 중 조합할 갯수 

house : <(row, col), index> 형태의 집 위치 / chicken : <(row, col), index> 형태의 치킨집 위치 

dist : 각 조합의 경우의 수마다 도출된 도시의 치킨거리들을 담을 벡터

num : 조합할 치킨집의 인덱스를 골라놓은 벡터 / short_sum : 한 경우의 수에 대해 도출된 도시의 치킨거리

small : 한 집에서 여러개의 치킨집까지의 거리 중 가장 가까운 치킨집과의 거리

sum : 한 집에서 한 치킨집까지의 거리

※주의사항

1. DFS를 이용한 조합을 구하는 흐름을 잘 이해할것.

2. 각 조합별 거리 계산할 때, short_sum, ,small, sum의 초기화 위치 유의.

3. num 벡터가 최종 M깊이 만큼 들어갔다가 다시 나올 때, pop 해주는 것 유의.

1. Code
2. Code