만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

책 리뷰어

면접 대비

시간 제한6초메모리 제한1024 MB

요약
N권의 책에 1부터 M 사이 점수를 매겨 모든 비교 조건을 만족하는 값을 찾고, 불가능하면 -1을 출력합니다.
난이도

보통10점 중 6점

유형
위상 정렬, 유니온 파인드, 동적 계획법
정답자
아직 제출이 없습니다

문제

서평가는 책 NN권을 서평해야 합니다. 각 서평은 책에 11부터 MM까지의 척도로 점수를 매기면서 끝납니다. 각 책에 절대 점수를 바로 고르기는 어려우므로, 서평가는 책을 두 권씩 비교해서 어느 쪽이 더 나은지 적는 편이 훨씬 쉽다고 생각합니다.

서평가는 책에 11부터 NN까지의 정수로 번호를 붙였고, 각 책의 점수 a1,a2,…,aNa_1, a_2, \dots, a_N을 정하려 합니다. 이를 위해 일부 책 쌍 i,ji, j에 대해 aia_i와 aja_j의 관계를 설명하는 비교를 RR번 했습니다.

서평가는 비교에서 나온 모든 조건을 만족하는 점수 배정이라면 어떤 것이든 받아들입니다. 그런 배정을 찾는 것을 도와주세요.

입력

첫 줄에는 책의 수 NN(1≤N≤1000001 \leq N \leq 100000), 가능한 최고 점수 MM(1≤M≤1000001 \leq M \leq 100000), 비교 횟수 RR(1≤R≤5000001 \leq R \leq 500000)이 주어집니다.

이어서 반드시 성립해야 하는 관계를 나타내는 RR개의 줄이 나옵니다. 각 줄은 <i> <relation> <j> 형식이며, aia_i <relation> aja_j가 성립해야 한다는 뜻입니다. ii와 jj는 11부터 NN까지의 정수이고, i≠ji \neq j입니다. relation은 <, =, ≤ 중 하나입니다. 같은 책 쌍은 두 번 이상 비교되지 않습니다.

출력

모든 관계가 성립하고, 모든 수가 [1,M][1, M] 범위에 있는 정수 목록 a1,a2,…,aNa_1, a_2, \ldots, a_N을 출력하세요. 답이 여러 개이면 그중 아무거나 출력해도 됩니다. 불가능하면 −1-1을 출력하세요.

힌트

첫 번째 입력 예제에서 1 2 1 3 3이 유효한 답입니다. 모든 수가 [1,3][1, 3] 범위에 있고, 네 관계 a1<a2a_1 < a_2, a2<a4a_2 < a_4, a3<a2a_3 < a_2, a2<a5a_2 < a_5를 만족하는지 확인하면 됩니다.

예제4

  1. 예제 1

    입력
    5 3 4
    1 < 2
    2 < 4
    3 < 2
    2 < 5
    
    예상 출력
    1 2 1 3 3
    
  2. 예제 2

    입력
    3 10 3
    1 < 2
    2 < 3
    3 < 1
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    6 4 6
    2 < 1
    3 = 1
    6 = 3
    6 < 5
    5 < 4
    1 < 4
    
    예상 출력
    2 1 2 4 3 2
    
  4. 예제 4

    입력
    7 3 8
    1 <= 2
    5 = 7
    2 <= 7
    6 < 1
    5 <= 1
    2 < 3
    6 <= 4
    4 = 3
    
    예상 출력
    2 2 3 3 2 1 2