結果
問題 | No.2944 Sigma Partition Problem |
ユーザー |
![]() |
提出日時 | 2024-10-18 22:29:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,412 ms / 4,000 ms |
コード長 | 668 bytes |
コンパイル時間 | 318 ms |
コンパイル使用メモリ | 82,848 KB |
実行使用メモリ | 327,896 KB |
最終ジャッジ日時 | 2024-10-18 22:52:04 |
合計ジャッジ時間 | 38,275 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge8 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 24 |
ソースコード
N=4000 M=998244353 q1=[[0]*(N+1) for i in range(N+1)] q1[1][1]=1 for i in range(1,N+1): q1[i][i]=1 for i in range(1,N+1): for j in range(1,N+1): if i-j>0: q1[i][j]+=q1[i-j][j] q1[i][j]%=M q1[i][j]+=q1[i][j-1] q1[i][j]%=M q2=[[0]*(N+1) for i in range(N+1)] q2[1][1]=1 for i in range(1,N+1): for j in range(1,N+1): if i-j>0: q2[i][j]+=q2[i-j][j] if i-1>0 and j-1>0: q2[i][j]+=q2[i-1][j-1] q2[i][j]%=M for i in range(1,N+1): for j in range(1,N+1): q2[i][j]+=q2[i][j-1] q2[i][j]%=M Q=int(input()) for _ in range(Q): t,n,k=map(int,input().split()) if t==1: print(q1[n][k]) if t==2: print(q2[n][k])