만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

관광

시간 제한2초메모리 제한512 MB

요약
도시마다 가치가 있는 연결 그래프에서 출발 도시를 정해 방금 지난 도로로 바로 되돌아가지 않고 이동할 때, 방문할 수 있는 도시 가치의 최대 합을 구합니다.
난이도

보통10점 중 6점

유형
그래프, DFS, 트리, 동적 계획법
정답자
아직 제출이 없습니다

문제

다빈치는 식물학을 포함해 여러 분야에 관심이 많았다. 그는 식물 재배와 생태계를 연구하려고 피렌체 주변을 여행할 계획을 세운 적이 있다. 피렌체에는 nn개의 도시가 있고, 도시 ii에는 wiw_i종의 식물이 있다. 양방향 도로 mm개가 각각 두 도시를 잇고 있으며, 이 도로들을 통해 어떤 두 도시든 서로 오갈 수 있다.

다빈치는 도시 ss에서 출발한다. 그는 한 번에 도로 하나를 타고 인접한 도시 중 한 곳으로 이동할 수 있다. 다만 도로 u→vu \to v를 따라 도시 vv에 도착했다면, 같은 도로를 타고 바로 도시 uu로 되돌아갈 수는 없다. (같은 도로를 왔다 갔다 하는 여행은 지루하기 때문이다.)

다빈치는 가능한 한 많은 식물 종을 보고 싶어 한다. 즉 ∑방문한 도시 iwi\sum_{\text{방문한 도시 } i} w_i를 최대화하려고 한다. 같은 도시를 여러 번 방문할 수 있지만, 그 도시의 식물 종은 한 번만 센다. 여행이 어느 도시에서 끝나는지는 상관없다. 이때 여행 중에 볼 수 있는 식물 종의 최대 개수는 얼마인가?

입력

첫 줄에는 데이터 세트의 개수 KK(1≤K≤201 \le K \le 20)가 주어지고, 이어서 KK개의 데이터 세트가 주어진다.

각 데이터 세트의 첫 줄에는 공백으로 구분된 두 정수 nn, mm(1≤n,m≤10001 \le n, m \le 1000)이 주어진다. 둘째 줄에는 nn개의 정수 wiw_i(0≤wi≤1060 \le w_i \le 10^6)가 주어진다. 이어지는 mm개의 줄에는 jj번째 도로가 잇는 두 도시 xjx_j, yjy_j(1≤xj,yj≤n1 \le x_j, y_j \le n)가 각각 주어진다. 다음 줄에는 다빈치가 출발하는 도시 ss(1≤s≤n1 \le s \le n)가 하나 주어진다.

어떤 두 도시든 이 도로들을 따라 오갈 수 있다. 같은 도시 쌍을 잇는 도로는 두 개 이상 없으며, 도로가 도시 자기 자신을 잇는 경우도 없다.

출력

각 데이터 세트에 대해 "Data Set x:"라는 행을 출력한다. 여기서 x는 데이터 세트의 번호다. 다음 행에는 다빈치가 볼 수 있는 식물 종의 최대 개수를 출력한다. 각 데이터 세트의 출력 뒤에는 빈 줄을 하나 출력한다.

예제1

  1. 예제 1

    입력
    2
    4 3
    1 2 3 4
    1 2
    1 3
    1 4
    2
    5 7
    2 2 8 6 9
    1 2
    1 3
    2 4
    3 2
    4 5
    2 5
    1 5
    2
    
    예상 출력
    Data Set 1:
    7
    
    Data Set 2:
    27