結果
問題 |
No.2529 Treasure Hunter
|
ユーザー |
![]() |
提出日時 | 2021-10-16 01:10:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 311 ms / 2,000 ms |
コード長 | 578 bytes |
コンパイル時間 | 193 ms |
コンパイル使用メモリ | 82,116 KB |
実行使用メモリ | 117,556 KB |
最終ジャッジ日時 | 2024-09-25 18:47:03 |
合計ジャッジ時間 | 5,642 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 22 |
ソースコード
mod=998244353 t=int(input()) for i in range(t): n,m=map(int,input().split()) dp=[[0 for i in range(3)] for j in range(m+1)] dp[0][0]=1 for j in range(m): dp[j+1][0]+=dp[j][0] dp[j+1][1]+=dp[j][0]*n dp[j+1][0]+=dp[j][1] dp[j+1][1]+=dp[j][1]*(n-1) dp[j+1][0]+=dp[j][2] dp[j+1][1]+=dp[j][2]*(n-2) if n>=4: dp[j+1][2]+=dp[j][0]*(n*(n-1)//2-n) dp[j+1][2]+=dp[j][1]*((n-1)*(n-2)//2-n+2) dp[j+1][2]+=dp[j][2]*((n-2)*(n-3)//2-n+4) dp[j+1][0]%=mod dp[j+1][1]%=mod dp[j+1][2]%=mod print((dp[m][0]+dp[m][1]+dp[m][2])%mod)