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

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

모두 정렬하기

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

요약
알파벳 대문자 n개의 크기 관계가 하나씩 주어질 때, 정렬 순서가 유일하게 정해지거나 모순이 생기는 시점을 찾아 출력한다.
난이도

보통10점 중 6점

유형
그래프, 위상 정렬, 구현, 큐
정답자
아직 제출이 없습니다

문제

서로 다른 값들의 오름차순 정렬 수열이란, 어떤 형태의 '작다' 연산자를 사용해 원소들을 가장 작은 것부터 가장 큰 것까지 나열한 것을 말합니다. 예를 들어 정렬된 수열 A, B, C, D는 A < B, B < C, C < D를 의미합니다. 이 문제에서는 A < B 형태의 관계들이 주어지며, 이 관계들만으로 정렬 순서가 유일하게 결정되는지 판별해야 합니다.

입력

입력은 여러 개의 인스턴스로 이루어집니다. 각 인스턴스는 두 양의 정수 n과 m이 담긴 줄로 시작합니다. n은 정렬할 대상의 개수이며 2≤n≤262 \le n \le 26입니다. 정렬 대상은 대문자 알파벳의 앞에서부터 n개의 문자입니다. m은 이 인스턴스에서 주어지는 A < B 형태의 관계 개수입니다. 이어서 m개의 줄이 주어지며, 각 줄은 세 문자, 즉 대문자 한 개, 문자 <, 그리고 또 다른 대문자 한 개로 이루어진 관계 하나를 담습니다. 등장하는 문자는 앞 n개의 알파벳 범위를 벗어나지 않습니다. n = m = 0인 줄은 입력의 끝을 의미합니다.

출력

각 인스턴스마다 한 줄을 출력합니다. 이 줄은 다음 세 가지 중 하나여야 합니다.

Sorted sequence determined after xxx relations: yyy...y.
Sorted sequence cannot be determined.
Inconsistency found after xxx relations.

여기서 xxx는 정렬 순서가 유일하게 결정되거나 모순이 발견되는 시점(둘 중 먼저 일어나는 쪽)까지 처리한 관계의 개수이고, yyy...y는 오름차순으로 정렬된 수열입니다. 관계는 한 번에 하나씩 순서대로 처리하며, 순서가 유일하게 결정되거나 모순이 발견되는 즉시 그 시점까지 처리한 관계 개수를 사용해 결과를 출력합니다. 모든 관계를 처리한 뒤에도 순서가 유일하게 결정되지 않고 모순도 없으면 순서를 결정할 수 없다고 출력합니다.

예제2

  1. 예제 1

    입력
    4 6
    A<B
    A<C
    B<C
    C<D
    B<D
    A<B
    3 2
    A<B
    B<A
    26 1
    A<Z
    0 0
    
    예상 출력
    Sorted sequence determined after 4 relations: ABCD.
    Inconsistency found after 2 relations.
    Sorted sequence cannot be determined.
    
  2. 예제 2

    입력
    2 1
    A<B
    3 2
    A<B
    B<C
    4 2
    A<B
    C<D
    0 0
    
    예상 출력
    Sorted sequence determined after 1 relations: AB.
    Sorted sequence determined after 2 relations: ABC.
    Sorted sequence cannot be determined.