[BOJ 14885] NPM998244353 (Easy)
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
5
Time limit:
2.0s
Memory limit:
512M
Problem types
Allowed languages
길이가 N인 정수 중에서 P로 나누어 떨어지면서, 자릿수의 합이 최대 M인 수의 개수를 998244353로 나눈 나머지를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다.
입력 형식
첫째 줄에 N, P, MM이 주어진다. (1 ≤ N ≤ 109, 1 ≤ P ≤ 50, 1 ≤ MM ≤ 500) MM에 대한 설명은 출력 설명에 적혀 있다.
출력 형식
첫째 줄에 총 MM+1개의 정수를 출력한다. i번째 정수는 M = i인 경우의 정답을 출력한다. 즉, 길이가 N인 정수 중에서 P로 나누어 떨어지면서, 자릿수의 합이 최대 i인 수의 개수를 998244353로 나눈 나머지를 출력한다.
예제 입력 1
2 3 3
예제 출력 1
1 1 1 5
예제 입력 2
2 4 4
예제 출력 2
1 1 2 3 5
힌트
예제 1의 경우에 다음과 같이 정답을 구할 수 있다.
- M = 0: 00
- M = 1: 00
- M = 2: 00
- M = 3: 00, 03, 21, 30, 12 </ul>
- M = 0: 00
- M = 1: 00
- M = 2: 00, 20
- M = 3: 00, 12, 20
- M = 4: 00, 04, 12, 20, 40
예제 2의 경우에는 다음과 같이 정답을 구할 수 있다.
Comments