포럼
문제 USACO0430

좋아하는 색깔

설명

농부 존의 소 \(N\)마리(\(1\le N\le 2\cdot 10^5\))에게는 각자 좋아하는 색깔이 있다. 소들은 (여느 때처럼) \(1\ldots N\)으로 번호가 매겨져 있고, 각 색깔은 \(1\ldots N\) 범위의 정수로 나타낼 수 있다.

\(b\)가 소 \(a\)를 동경하는 소 쌍 \((a,b)\)\(M\)개(\(1\le M\le 2\cdot 10^5\)) 존재한다. \(a=b\)일 수도 있는데, 이 경우 소가 자기 자신을 동경하는 것이다. 임의의 색깔 \(c\)에 대해, 소 \(x\)\(y\)가 둘 다 좋아하는 색깔이 \(c\)인 소를 동경한다면, \(x\)\(y\)는 같은 색깔을 좋아한다.

이 정보가 주어질 때, 모든 소가 좋아하는 서로 다른 색깔의 수가 최대가 되도록 소들에게 좋아하는 색깔을 배정하시오. 이 성질을 만족하는 배정이 여러 개 있으므로, 사전순으로 가장 작은 것을 출력한다(즉, 소 \(1\ldots N\)의 순서대로 배정되는 색깔을 최소화하는 배정을 택해야 한다).

문제 제공: William Lin, Benjamin Qi

제약

배점

  • 테스트 케이스 2-3은 \(N,M\le 10^3\)을 만족한다.
  • 테스트 케이스 4-10은 추가 제약이 없다.

문제 제공: William Lin, Benjamin Qi

입력 형식

첫째 줄에 \(N\)\(M\)이 주어진다.

다음 \(M\)개의 줄 각각에 소 \(b\)가 소 \(a\)를 동경함을 나타내는, 공백으로 구분된 두 정수 \(a\)\(b\)(\(1\le a,b\le N\))가 주어진다. 같은 쌍이 입력에 여러 번 나올 수 있다.

출력 형식

\(1\ldots N\)의 각 \(i\)에 대해, 원하는 배정에서 소 \(i\)의 색깔을 한 줄에 하나씩 출력한다.

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:
입력을 읽을 파일 fcolor.in · 출력을 쓸 파일 fcolor.out
예제 1
입력
9 12
1 2
4 2
5 8
4 6
6 9
2 9
8 7
8 3
7 1
9 4
3 5
3 4
출력
1
2
3
1
1
2
3
2
3
설명

In the image below, the circles with bolded borders represent the cows with
favorite color 1.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2019-2020 > US Open > Gold

태그

평가 및 의견

Favorite Colors

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

Log in to rate problems.

개별 의견

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

풀이 제출

Favorite Colors

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