Đấu trường

Đề bài

Mô tả

n đấu sĩ thi đấu trong đấu trường. Ban đầu đấu sĩ thứ iai điểm sinh lực.

Trận đấu diễn ra qua nhiều vòng. Vào đầu mỗi vòng, mỗi đấu sĩ còn sống gây 1 sát thương lên tất cả các đấu sĩ còn lại. Đòn đánh của tất cả đấu sĩ xảy ra đồng thời. Đấu sĩ nào có sinh lực nhỏ hơn 1 vào cuối vòng thì bị loại (nói cách khác, nếu vào đầu vòng có k đấu sĩ còn sống thì mỗi đấu sĩ chịu k1 sát thương trong vòng đó).

Nếu sau một vòng nào đó chỉ còn đúng 1 đấu sĩ sống sót thì đấu sĩ đó được tuyên bố là người chiến thắng. Ngược lại, không có ai chiến thắng.

Nhiệm vụ của bạn là đếm số cách chọn điểm sinh lực ban đầu ai cho từng đấu sĩ, với 1aix, sao cho trận đấu không có người chiến thắng. Kết quả có thể rất lớn, hãy in ra phần dư khi chia cho 998244353.

Hai cách được coi là khác nhau nếu có ít nhất một đấu sĩ có điểm sinh lực khác nhau. Ví dụ, [1,2,1][2,1,1] là hai cách khác nhau.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nx.

Dữ liệu ra

In ra một số nguyên: số cách chọn điểm sinh lực ban đầu sao cho không có người chiến thắng, lấy phần dư khi chia cho 998244353.

Ràng buộc

  • 2n500
  • 1x500

Ví dụ

Input Output Giải thích
2 5 5 Với 2 đấu sĩ, cả hai gây 1 sát thương lên nhau mỗi vòng. Không có người thắng khi và chỉ khi hai đấu sĩ có cùng sinh lực và cùng bị loại. Có 5 cách: [1,1],[2,2],[3,3],[4,4],[5,5].
3 3 15 33=27 cách tổng cộng; 15 trong số đó không cho ra người chiến thắng.
5 4 1024 x=4n1=4, ở vòng đầu mọi đấu sĩ đều chịu 4 sát thương và bị loại đồng thời, nên mọi cách trong 45=1024 đều không có người thắng.
13 37 976890680

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0