만드는 중입니다

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

미하일 티호미로프

시간 제한2초메모리 제한512 MB

요약
주어진 m개의 집합마다 원소의 순열 값이 크기 |S|의 연속된 구간을 이루도록 길이 n의 순열을 만듭니다.
난이도

어려움10점 중 8점

유형
구간, 분할 정복, 구현
정답자
아직 제출이 없습니다

문제

정수 nn과 00부터 n−1n-1까지의 원소로 이루어진 공집합이 아닌 집합 mm개가 주어진다. 길이가 nn인 순열 pp를 만들어라. 주어진 각 집합 SS에 대해 다음 식이 성립해야 한다. max⁡s∈Sps−min⁡s∈Sps=∣S∣−1\max_{s \in S} p_s - \min_{s \in S} p_s = |S| - 1. 답이 존재함이 보장된다. 답이 여러 개이면 그중 아무거나 출력한다.

입력

첫 번째 줄에 정수 nn과 mm이 주어진다 (3≤n≤1003 \le n \le 100, 1≤m≤1001 \le m \le 100). 이어지는 mm개의 줄에는 각각 정수 kik_i (2≤ki<n2 \le k_i < n)와 그 뒤에 kik_i개의 정수 ai,ja_{i,j} (0≤ai,j<n0 \le a_{i,j} < n, ai,j<ai,j+1a_{i,j} < a_{i,j+1})가 주어진다. kik_i는 ii번째 집합의 크기이고, ai,ja_{i,j}는 오름차순으로 정렬된 그 집합의 원소이다. 주어지는 집합들은 서로 다르며, 답이 존재함이 보장된다.

출력

nn개의 정수 p0,p1,…,pn−1p_0, p_1, \dots, p_{n-1}을 공백으로 구분해 출력한다. ii번째 정수는 pip_i이다.

예제2

  1. 예제 1

    입력
    3 1
    2 0 1
    
    예상 출력
    0 1 2
    
  2. 예제 2

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