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

33953번 - PPC와 CPP 2

시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 1024 MB2215956.250%

문제

1ドル$ 이상의 정수 $N$과 2ドル$ 이상의 정수 $K$가 주어진다. P또는 C로만 이루어진 길이가 $(K+1)N$인 문자열 $a_1, a_2, \cdots, a_{(K+1)N}$에 다음 연산을 원하는 만큼 반복해서 빈 문자열로 만들 수 있다면 그 문자열을 PPC 문자열이라고 부른다.

  • 현재 문자열에서 연속된 $K+1$개의 문자를 고른다. 고른 문자들이 P...PC 또는 CP...P를 이룬다면, 그 고른 문자들을 삭제한다. 그 후, 남은 문자들을 순서를 바꾸지 않고 다시 이어 붙인다.

예를 들어 $K=2$일 때 CPPPCP는 PPC 문자열이다.

  • 현재 문자열에서 3,4,5ドル$번째 문자를 고르면 PPC를 이룬다. 고른 문자들을 삭제한 후 문자열은 CPP가 된다.
  • 현재 문자열에서 1,2,3ドル$번째 문자를 고르면 CPP를 이룬다. 고른 문자들을 삭제한 후 문자열은 빈 문자열이 된다.

$N$과 $K$가 주어질때, 길이가 $(K+1)N$인 PPC 문자열의 개수를 998244353ドル$으로 나눈 나머지를 계산하시오.

입력

첫 번째 줄에 $N$과 $K$가 공백으로 구분되어 주어진다. (1ドル \leq N \leq 200 000, 2 \leq K \leq 40$)

출력

길이가 $(K+1)N$인 PPC 문자열의 개수를 998244353ドル$으로 나눈 나머지를 출력하시오.

제한

예제 입력 1

1 2

예제 출력 1

2

예제 입력 2

2 2

예제 출력 2

10

힌트

출처

University > POSTECH > 2025 POSTECH Programming Contest > Open Contest C2번

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

출처

대학교 대회

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

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