아름다운 오토마타
시간 제한2초메모리 제한512 MB
주어진 방향 비순환 그래프가 어떤 문자열의 접미사 오토마타와 일치하는 가장 사전순으로 작은 문자열을 구하거나, 없으면 -1을 출력합니다.
문제
Oleksandr은 문자열을 좋아한다. 그가 가장 좋아하는 자료구조는 접미사 오토마타(suffix automaton)이다.
소문자 영어 알파벳으로 이루어진 문자열 를 생각하자. 의 접미사 오토마타는 각 간선 에 문자 가 적혀 있고 시작 정점 가 고정된 방향 비순환 그래프 중에서 정점 수가 가장 적은 그래프이며, 다음 조건을 만족한다.
Oleksandr은 다른 어떤 그래프보다 접미사 오토마타를 더 좋아한다. 방향 비순환 그래프 의 각 간선에 소문자를 적고 시작 정점 를 골랐을 때 가 의 접미사 오토마타가 될 수 있으면, 그는 를 -beautiful하다고 부른다.
Oleksandr은 사전순으로 작은 문자열을 좋아한다. 주어진 그래프 에 대해, 가 -beautiful하도록 하는 사전순으로 가장 작은 문자열 를 구하라.
입력
첫 줄에 정점 수 과 간선 수 이 주어진다 (, ). 이어지는 개의 줄에는 에서 로 향하는 방향 간선을 나타내는 두 정수 , 가 한 줄에 하나씩 주어진다 (, ). 그래프 는 비순환임이 보장된다.
출력
가 -beautiful하도록 하는, 사전순으로 가장 작은 소문자 문자열 를 한 줄에 출력한다. 그런 문자열이 없으면 을 출력한다.
힌트
처음 세 예제에 대한 접미사 오토마타는 아래와 같다.
