[백준] 18231번 - 파괴된 도시
한 도시가 폭격당하면 인접한 모든 도시가 파괴된다. 즉, 인접한 도시 중 파괴되지 않은 도시가 하나라도 있으면, 해당 도시는 폭격당하면 안된다.
문제의 조건이 폭격당하는 최소 도시 갯수가 아닌, 여러 경우가 정답이 될 수 있으므로 필자는 최대한 쉬운 방향으로 구현했다.
구현 내용 중 핵심은 아래와 같다.
-
answer 벡터에 오름차순으로 도시를 넣기 위해, binary_search STL을 이용하기 위해서 destroied 벡터를 미리 오름차순으로 정렬한다.
-
solve 함수 내에서 adj 배열을 순회하며 해당 도시의 인접 도시가 모두 파괴된 상태라면, 해당 도시와 인접한 도시를 check 배열에 파괴되었다고 표시한다.
-
destroied 배열 내의 모든 도시가 파괴되었으면 solve 함수를 return 한다.
1 |
|