Logo
(追記) (追記ここまで)

23048번 - 자연수 색칠하기 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB168597077557.407%

문제

1ドル$부터 $N$까지의 자연수를 색칠한다. 단, 서로소인 서로 다른 두 자연수는 다른 색으로 칠해야 한다. 최소한의 색을 써서 모든 자연수를 칠하는 방법을 찾는 프로그램을 작성하자.

입력

첫째 줄에 자연수 $N$이 주어진다. (1ドル \le N \le 500,000円$)

출력

첫째 줄에 사용한 색의 수 $K$를 출력한다.

둘째 줄에 $N$개의 수를 공백을 사이에 두고 출력한다. $i$번째 수는 자연수 $i$의 색이다. 색은 1ドル$ 이상 $K$ 이하의 정수로 나타낸다.

제한

예제 입력 1

5

예제 출력 1

4
1 2 3 2 4

노트

다음은 $N=5$일 때의 올바른 색칠과 올바르지 않은 색칠의 예시다.

첫 번째 색칠은 올바른 색칠이다. 2ドル$와 4ドル$는 같은 색으로 색칠했지만, 서로소가 아니므로 문제의 조건에 위배되지 않는다. 또한, 5ドル$까지의 자연수를 색칠하기 위해 최소 4ドル$개의 색이 필요함을 증명할 수 있다.

두 번째 색칠은 서로소인 2ドル$와 3ドル$이 같은 색으로 칠해졌기 때문에 올바르지 않은 색칠이다.

세 번째 색칠은 최소한의 색깔로 칠하지 않았기 때문에 올바르지 않은 색칠이다.

출처

University > 서울대학교 > 서울대학교 프로그래밍 경시대회 > 2021 서울대학교 프로그래밍 경시대회 > Division 1 E번

University > 서울대학교 > 서울대학교 프로그래밍 경시대회 > 2021 서울대학교 프로그래밍 경시대회 > Division 2 G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /