아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

포털

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

요약
각 정점에 네 개의 포털이 두 쌍으로 묶여 있고, 비용 c_v를 내면 그 정점의 목록을 재배열할 수 있다. 4N개의 (정점, 포털) 위치가 모두 서로 도달 가능해지도록 만드는 최소 비용을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 유니온 파인드, 그리디, 구현
정답자
아직 제출이 없습니다

문제

Bessie는 NN (2≤N≤1052\le N\le 10^5)개의 정점 1…N1\ldots N과 2N2N개의 포털 1…2N1\ldots 2N으로 이루어진 네트워크에 있다. 각 포털은 서로 다른 두 정점 uu와 vv (u≠vu\neq v)를 연결한다. 같은 두 정점을 여러 포털이 연결할 수도 있다.

각 정점 vv는 서로 다른 네 개의 포털과 인접하다. vv에 인접한 포털의 목록은 p_v=\[p_v,1,p_v,2,p_v,3,p_v,4]p\_v=\[p\_{v,1},p\_{v,2},p\_{v,3},p\_{v,4}]로 주어진다.

현재 위치는 순서쌍 (현재 정점,현재 포털)(\text{현재 정점}, \text{현재 포털}), 즉 (v,p_v,i)(v,p\_{v,i}) (1≤v≤N1\le v \le N, 1≤i≤41\le i\le 4)로 나타낼 수 있다. 다음 두 연산 중 하나로 현재 위치를 바꿀 수 있다.

  1. 현재 포털을 통해 이동하여 현재 정점을 바꾼다.
  2. 현재 포털을 전환한다. 각 정점에서 목록의 처음 두 포털은 서로 짝지어지고, 마지막 두 포털도 서로 짝지어진다. 즉 현재 위치가 (v,p_v,2)(v,p\_{v,2})라면 포털 (v,p_v,1)(v,p\_{v,1})로 전환할 수 있고, 그 반대도 가능하다. 마찬가지로 현재 위치가 (v,p_v,3)(v,p\_{v,3})이라면 포털 (v,p_v,4)(v,p\_{v,4})로 전환할 수 있고, 그 반대도 가능하다. 다른 전환은 허용되지 않는다. 예를 들어 포털 p_v,2p\_{v,2}에서 포털 p_v,4p\_{v,4}로 전환할 수 없다.

총 4N4N개의 서로 다른 위치가 있다. 안타깝게도 모든 위치에서 다른 모든 위치로 연산을 통해 도달할 수 있다는 보장은 없다. 따라서 c_vc\_v (1≤c_v≤10001\le c\_v\le 1000) 문니를 내고 정점 vv에 인접한 포털 목록을 원하는 순서로 바꿀 수 있다. 그 후에는 목록의 처음 두 포털이 짝지어지고, 마지막 두 포털도 짝지어진다.

예를 들어 정점 vv에 인접한 포털을 \[p_v,3,p_v,1,p_v,2,p_v,4]\[p\_{v,3},p\_{v,1},p\_{v,2},p\_{v,4}] 순서로 바꾸면, 정점 vv에서 다음과 같이 동작한다.

  • 현재 포털 p_v,1p\_{v,1}에 있다면 포털 p_v,3p\_{v,3}으로 전환할 수 있고, 그 반대도 가능하다.
  • 현재 포털 p_v,2p\_{v,2}에 있다면 포털 p_v,4p\_{v,4}로 전환할 수 있고, 그 반대도 가능하다.
  • 더 이상 포털 p_v,1p\_{v,1}에서 p_v,2p\_{v,2}로, 또는 포털 p_v,3p\_{v,3}에서 포털 p_v,4p\_{v,4}로 전환할 수 없다.

모든 위치에서 다른 모든 위치로 도달할 수 있도록 네트워크를 수정하는 데 필요한 최소 총 문니를 구하라. 테스트 데이터는 네트워크를 유효하게 수정하는 방법이 적어도 하나 존재하도록 주어진다.

입력

첫째 줄에 NN이 주어진다.

다음 NN개의 줄이 각 정점을 설명한다. v+1v+1번째 줄에는 공백으로 구분된 다섯 정수 c_v,p_v,1,p_v,2,p_v,3,p_v,4c\_v,p\_{v,1},p\_{v,2},p\_{v,3},p\_{v,4}가 주어진다.

각 vv에 대해 p_v,1,p_v,2,p_v,3,p_v,4p\_{v,1},p\_{v,2},p\_{v,3},p\_{v,4}는 모두 서로 다르며, 모든 포털은 정확히 두 정점의 인접 목록에 나타난다.

출력

모든 위치에서 다른 모든 위치로 도달할 수 있도록 네트워크를 수정하는 데 필요한 최소 총 문니를 한 줄에 출력한다.

힌트

정점 11과 44의 인접 목록만 바꾸면 된다. 이때 총 c_1+c_4=13c\_1+c\_4=13 문니가 필요하다. p_1=\[1,9,4,8]p\_1=\[1,9,4,8], p_4=\[7,4,6,3]p\_4=\[7,4,6,3]로 두면 된다.

예제1

  1. 예제 1

    입력
    5
    10 1 4 8 9
    11 1 2 5 6
    12 9 10 2 3
    3 4 3 6 7
    15 10 8 7 5
    
    예상 출력
    13