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

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

성기사

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

요약
허용된 인접 글자 쌍과 그 비용이 주어질 때, 길이가 정확히 k인 팰린드롬의 최소 비용을 구하고, 만들 수 없으면 -1을 출력한다.
난이도

보통10점 중 7점

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

문제

성기사는 신성 마법에 능숙한 전사로, 주문을 만드는 데 당신의 도움이 필요하다. 성기사이므로 모든 주문은 회문이어야 한다. 즉, 앞에서 읽으나 뒤에서 읽으나 같은 문자열이어야 한다. 새 주문을 만드는 비용은 최종 주문에 등장하는 룬 쌍(인접한 글자 쌍)의 비용을 바탕으로 계산한다. 입력에 주어지지 않은 룬 쌍은 최종 주문에 사용할 수 없다.

주문의 총 비용은 주문에 등장하는 각 룬 쌍의 비용을 등장 횟수만큼 더한 값이다. 예를 들어 주문이 abacaba라면 비용은 ab + ba + ac + ca + ab + ba의 비용을 모두 더한 값이다.

정확히 주어진 길이의 새 성기사 주문을 만드는 최소 비용을 구하라.

입력

첫째 줄에 두 정수 nn (1≤n≤6761 \le n \le 676)과 kk (2≤k≤1002 \le k \le 100)가 주어진다. nn은 룬 쌍의 개수이고 kk는 만들고자 하는 주문의 길이(룬, 즉 글자 수)이다.

다음 nn개의 줄에는 각각 문자열 ss (정확히 두 개의 소문자로 이루어지며, 두 글자가 같을 수도 다를 수도 있다)와 정수 cc (1≤c≤1001 \le c \le 100)가 주어진다. ss는 룬 쌍이고 cc는 그 룬 쌍의 비용이다. 모든 룬 쌍은 서로 다르다.

출력

주어진 룬으로 길이 kk인 주문을 만드는 최소 비용을 정수 하나로 출력한다. 만들 수 없다면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    5 9
    ab 4
    ba 1
    bd 3
    db 100
    bc 4
    
    예상 출력
    20