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

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

무지개길 경주

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

요약
7가지 색으로 칠해진 간선을 가진 연결 가중 무방향 그래프에서, 1번 정점에서 출발해 모든 색을 적어도 한 번 사용하고 돌아오는 최단 폐보행을 구한다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로, 비트 연산, 동적 계획법
정답자
아직 제출이 없습니다

문제

Marcy는 Pride Fest에 참가해 무지개길 경주에 나섰다. 각 거리에는 색 분필 가루를 가진 자원봉사자들이 있다. 참가자가 거리를 따라 걸어가면 자원봉사자들이 참가자에게 분필을 뿌린다. 각 거리에서 뿌리는 분필은 무지개의 일곱 색(빨강, 주황, 노랑, 초록, 파랑, 남색, 보라) 중 하나이다. 사람이 어떤 거리를 걷기 시작하면 그 거리의 끝까지 걸어가야 한다.

경주는 축제 텐트에서 시작한다. 경주의 목표는 모든 색의 분필을 묻히고 텐트로 돌아오는 것이다. Marcy가 모든 색을 얻고 텐트로 돌아오기 위해 이동해야 하는 최단 거리를 구하자.

그림 J.1: 왼쪽 그림은 예제 입력 1을, 오른쪽 그림은 예제 입력 2를 나타낸다. 삼각형이 축제 텐트이다.

입력

첫째 줄에 축제의 놀이 장소 수 nn (7≤n≤737 \leq n \leq 7^3)과 놀이 장소를 잇는 거리 수 mm (7≤m≤747 \leq m \leq 7^4)이 주어진다. 놀이 장소는 1,…,n1, \dots , n으로 번호가 매겨지며 축제 텐트는 장소 1이다.

다음 mm개 줄에 거리 정보가 주어진다. 각 줄에는 세 정수 ℓ_1\ell\_1, ℓ_2\ell\_2 (1≤ℓ_1<ℓ_2≤n1 \leq \ell\_1 < \ell\_2 \leq n)와 dd (1≤d≤751 \leq d \leq 7^5)가 주어지고, 이어서 문자 하나 cc가 주어진다(cc는 R, O, Y, G, B, I, V 중 하나). 이는 이 거리가 장소 ℓ_1\ell\_1과 ℓ_2\ell\_2를 연결하고 길이가 dd미터이며 뿌리는 분필의 색이 cc임을 뜻한다.

어떤 놀이 장소 쌍 사이든 항상 이동할 수 있다. 두 장소 사이에 거리는 최대 하나이며 각 색은 적어도 한 번 나타난다.

출력

Marcy가 모든 색을 얻고 축제 텐트로 돌아오기 위해 이동해야 하는 최단 거리를 출력한다.

예제2

  1. 예제 1

    입력
    7 7
    1 2 1 R
    2 3 1 O
    3 4 1 Y
    4 5 1 G
    5 6 1 B
    6 7 1 I
    1 7 1 V
    
    예상 출력
    7
    
  2. 예제 2

    입력
    8 7
    1 2 1 R
    1 3 1 O
    1 4 1 Y
    1 5 1 G
    1 6 1 B
    1 7 1 I
    1 8 1 V
    
    예상 출력
    14