점수의 합
시간 제한2초메모리 제한512 MB
정점이 50개 이하인 두 트리에서 각각 연결 부분그래프를 이루는 비어 있지 않은 정점 집합 중 점수 합이 최대인 것을 찾는다.
문제
정점이 개인 트리 와 가 주어진다. 두 트리 모두 정점에 0번부터 번까지 번호가 붙어 있고, 번 정점의 점수는 이다. 점수는 정수이며 음수일 수도 있다.
다음 두 조건을 모두 만족하는, 공집합이 아닌 부분 집합 을 고른다.
- 트리 에서 에 속한 정점만 남기면 연결된 부분 그래프가 된다.
- 트리 에서 에 속한 정점만 남기면 연결된 부분 그래프가 된다.
이런 중에서 점수의 합 의 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정점의 개수 이 주어진다. ()
다음 개의 줄에는 트리 의 간선이 한 줄에 하나씩, 두 정수 와 로 주어진다. (, )
이어지는 개의 줄에는 같은 형식으로 트리 의 간선이 주어진다.
마지막 줄에는 정수 개 이 공백으로 구분되어 주어진다. ()
입력으로 주어지는 두 그래프는 모두 트리이다.
출력
첫째 줄에 점수의 합의 최댓값을 출력한다.
힌트
첫 번째 예제에서는 을 고를 때 점수의 합이 최대가 된다. 를 고르면 트리 에서 연결된 부분 그래프가 되지 않는다.