포럼
문제 USACO0334

착유 순서

설명

언제나처럼 \(1 \ldots N\)으로 번호가 매겨진 농부 존의 \(N\)마리 소들(\(1 \leq N \leq 10^5\))은 발굽 위의 시간이 너무 많이 남아돈다. 그 결과, 소들은 농부 존이 매일 아침 우유를 짜는 순서와 관련된 복잡한 사회적 위계를 만들어 냈다.

몇 주간의 연구 끝에 농부 존은 소들의 사회 구조에 관해 \(M\)개의 관찰 결과를 얻었다 (\(1 \leq M \leq 50,000\)). 각 관찰 결과는 소들 중 일부의 순서 있는 목록으로, 이 소들이 목록에 나오는 순서와 같은 순서로 착유되어야 함을 뜻한다. 예를 들어 농부 존의 관찰 결과 중 하나가 목록 2, 5, 1이라면, 농부 존은 소 5의 우유를 짜기 전 언젠가 소 2의 우유를 짜야 하고, 소 1의 우유를 짜기 전 언젠가 소 5의 우유를 짜야 한다.

농부 존의 관찰 결과들에는 우선순위가 있어서, 그의 목표는 착유 순서가 처음 \(X\)개의 관찰 결과에 명시된 조건을 만족하도록 하는 \(X\)의 값을 최대화하는 것이다. 처음 \(X\)개의 조건을 만족하는 착유 순서가 여러 개라면, 농부 존은 번호가 낮은 소가 번호가 높은 소보다 서열이 높다는 것이 오랜 전통이라고 믿으므로, 번호가 가장 낮은 소들을 먼저 착유하고 싶어 한다. 더 형식적으로, 이 조건들을 만족하는 착유 순서가 여러 개라면 농부 존은 사전순으로 가장 작은 것을 사용하고 싶어 한다. 순서 \(x\)가 순서 \(y\)보다 사전순으로 작다는 것은, 어떤 \(j\)에 대해 모든 \(i < j\)에서 \(x_i = y_i\)이고 \(x_j < y_j\)인 것이다(다시 말해, 두 순서는 어떤 지점까지 동일하고 그 지점에서 \(x\)\(y\)보다 작다).

농부 존이 소들의 우유를 짤 최선의 순서를 정하도록 도와주자.

출제자: Jay Leeds

제약

출제자: Jay Leeds

입력 형식

첫째 줄에 \(N\)\(M\)이 주어진다. 다음 \(M\)개의 줄에는 각각 관찰 결과가 하나씩 주어진다. \(i+1\)번째 줄은 관찰 결과 \(i\)를 나타내며, 그 관찰 결과에 나열된 소의 수 \(m_i\)로 시작하고, 이어서 관찰 결과에서의 소들의 순서를 나타내는 정수 \(m_i\)개가 주어진다. \(m_i\)들의 합은 최대 \(200,000\)이다.

출력 형식

농부 존이 소들의 우유를 짜야 할 순서를 담은 \(1 \ldots N\)의 순열을, 공백으로 구분된 정수 \(N\)개로 출력한다.

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 milkorder.in · 출력을 쓸 파일 milkorder.out
예제 1
입력
4 3
3 1 2 3
2 4 2
3 3 4 1
출력
1 4 2 3
설명

Here, Farmer John has four cows and should milk cow 1 before cow 2 and cow 2
before cow 3 (the first observation), cow 4 before cow 2 (the second
observation), and cow 3 before cow 4 and cow 4 before cow 1 (the third
observation). The first two observations can be satisfied simultaneously, but
Farmer John cannot meet all of these criteria at once, as to do so would require
that cow 1 come before cow 3 and cow 3 before cow 1.

This means there are two possible orderings: 1 4 2 3 and 4 1 2 3, the first
being lexicographically smaller.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2017-2018 > US Open > Gold

태그

평가 및 의견

Milking Order

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Milking Order

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (milkorder.in / milkorder.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8