트리를 간단하게 색칠하는 최소 비용
면접 대비시간 제한1초메모리 제한512 MB
루트가 0인 트리에서 인접한 정점의 색이 서로 다르도록 각 정점을 흰색 또는 검은색으로 칠할 때, 최소 비용을 구합니다.
문제
정점 개와 간선 개로 이루어진 트리 가 있다. 정점 번호는 0부터 까지이며, 0번 정점이 루트이다. 간선에는 가중치가 없다.
트리 의 각 정점을 white 또는 black으로 칠하려고 한다. 이웃한 두 정점의 색은 서로 달라야 한다. 각 정점에는 white로 칠할 때의 비용과 black으로 칠할 때의 비용이 주어진다.
트리 의 모든 정점을 칠하는 최소 비용을 구한다.
입력
첫 번째 줄에 정점의 수 이 주어진다.
두 번째 줄부터 개의 줄에 간선 정보가 한 줄에 하나씩 주어진다. 각 간선 정보는 부모 정점 번호 와 자식 정점 번호 가 공백으로 구분되어 순서대로 주어진다.
그다음 개의 줄에는 0번 정점부터 번 정점까지 정점별 칠하는 비용이 순서대로 주어진다. 각 줄에는 정수 와 가 공백으로 구분되어 있다. 는 white로 칠하는 비용, 는 black으로 칠하는 비용이다.
출력
첫 번째 줄에 트리 의 모든 정점을 칠하는 최소 비용을 출력한다.
제한
- ,
- 주어진 간선들로 만들어진 그래프는 트리이다.
- 이며, 와 는 양의 정수이다.