Movatterモバイル変換


[0]ホーム

URL:


Logo

33547번 -조 나누기

시간 제한메모리 제한제출정답맞힌 사람정답 비율
12 초 (추가 시간 없음)1024 MB (추가 메모리 없음)2213787.500%

문제

$N$명의 BOJ 대학교 학생들을 조들로 나눠, 각자 조별 과제를 하게 하려고 한다. 그런데, 어떤 학생들은 싫어하는 학생이 한 명 존재해 그 학생과는 조원을 하지 않으려고 한다. $i$번 학생이 싫어하는 학생은 $A_i$번 학생이다. 단, $A_i=i$인 경우는 싫어하는 학생이 존재하지 않는 경우이다.

$1$부터 $N$까지의 각 $M$에 대해, 여러분은 모든 학생이 싫어하는 학생과는 같은 조가 되지 않도록 학생들을 비지 않은 $M$개의 조로 나누는 경우의 수를 구해야 한다. 조로 나누는 두 방법이 다르다는 것은 한 방법에서만 같은 조에 속하는 학생 쌍이 존재함을 의미한다.

입력

첫 번째 줄에 $N$이 주어진다.

두 번째 줄에 $A_1,\dots ,A_N$이 공백으로 구분되어 주어진다.

출력

$M=1$부터 $N$까지 순서대로 학생들을 $M$개의 조로 나누는 경우의 수를 소수 $998244353$로 나눈 나머지를 공백으로 구분하여 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • $1\le N\le 500\, 000$
  • $1\le A_i\le N$ $(1\le i\le N)$

예제 입력 1

101 2 3 4 5 6 7 8 9 10

예제 출력 1

1 511 9330 34105 42525 22827 5880 750 45 1

모든 학생이 싫어하는 학생이 없다. 이 경우 $N$명의 학생을 $M$개의 조로 나누는 경우의 수는 제2종 스털링 수 $S(N, M)$이다.

예제 입력 2

102 1 4 3 6 7 5 1 3 5

예제 출력 2

0 0 288 3600 9056 7846 2890 489 37 1

5, 6, 7번 학생이 각각 다른 조에 속해야 하므로 2개 이하의 조로는 학생들을 나눌 수 없다.

예제 입력 3

103 1 4 1 5 9 2 6 5 3

예제 출력 3

0 0 192 2724 7420 6811 2625 461 36 1

힌트

출처

Contest > BOJ User Contest > Good Bye, BOJ > Hello, BOJ 2025! G번

출처

대학교 대회

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


[8]ページ先頭

©2009-2025 Movatter.jp