Logo
(追記) (追記ここまで)

28937번 - Подарок Диппера 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB2312947.368%

문제

Во время очередного приключения Диппер нашел строку $s$ длинны $n$. Он считает, что эта строка является идеальным подарком для Мэйбл. Она привередливая, поэтому не каждая строка ей понравится. К счастью, у Диппера есть знакомый мастер, который умеет изменять строки за определенное количество монет.

Мальчик хочет угодить Мейбл и сделать строку, которая ей понравится, потратив минимальное количество монет. Мастер имеет каталог из $m$ операций замены. Каждая операция позволяет заменить определенный символ $a$ в любой позиции строки на символ $b,ドル заплатив $c$ монет. Любую операцию можно использовать неограниченное количество раз в любой позиции строки. Мастер может заменять символы, которые он сам раньше ставил на эту позицию. В каталоге мастера может быть несколько операций изменение $a$ на $b$ с разными стоимостями.

Строка называется $k$-строкой, если она может быть представлена в виде $k$ копий некоторой строки, записанных подряд. Например, строка <<aabaabaabaab>> является одновременно 1ドル$-строкой, 2ドル$-строкой и 4ドル$-строкой, но не является 3ドル$-строкой, 5ドル$-строкой, 6ドル$-строкой и так далее. Назовем строку <<красивой>>, если она является $k$-строкой, для $k$ больше единицы. Мейбл нравятся только красивые строки. Помогите Дипперу понять, может ли он получить красивую строку, а если может, то какое минимальное количество монет ему необходимо потратить на работу мастера.

입력

В первой строке заданы числа $n$ и $m$ --- длина строки $s$ и количество операций (2ドル \le n \le 10^5$; 1ドル \le m \le 10^5$).

Во второй строке задана последовательность маленьких латинских букв длины $n$ --- строка $s$.

Далее следует $m$ строк. В каждой записаны две маленькие латинские буквы $a,ドル $b$ и число $c$ --- операция, которая соответствует замене символа $a$ на $b$ за цену $c$ (0ドル \le c \le 100,000円$).

출력

Если не существует способа сделать строку $s$ красивой, то выведите -1, иначе выведите количество монет, которое нужно потратить.

제한

예제 입력 1

6 4
abcdba
d a 3
a z 3
z c 2
a d 1

예제 출력 1

6

노트

abcdba $\to$ dbcdba $\to$ dbcdbz $\to$ dbcdbc

  1. Заменяем букву a на d, заплатив 1.
  2. Заменяем букву a на z, заплатив 3.
  3. Заменяем букву z на c, заплатив 2.

Ответ: 1 + 3 + 2 = 6

Строка dbcdbc является 2-строкой.

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2016-2017 Season > October 15, 2016 > Basic A번

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2016-2017 Season > October 15, 2016 > Advanced A번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /