結果
問題 | No.2668 Trees on Graph Paper |
ユーザー |
![]() |
提出日時 | 2024-03-08 23:26:22 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 669 bytes |
コンパイル時間 | 309 ms |
コンパイル使用メモリ | 81,972 KB |
実行使用メモリ | 76,972 KB |
最終ジャッジ日時 | 2024-09-29 20:45:05 |
合計ジャッジ時間 | 32,402 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 TLE * 1 |
ソースコード
N,mod=map(int,input().split()) dp=[0]*3 dp[2]=1 score=[0]*3 score[2]=1 result=1 for x in range(1,2*N): result*=x result%=mod for i in range(1,2*N-1): dp2=[0]*3 score2=[0]*3 for j in range(3): for k in range(3): if j==2 and k==0: continue dp2[k]+=dp[j] dp2[k]%=mod if k<=j: score2[k]+=score[j] elif k==1 and j==0: score2[k]+=score[j]*(i-1) elif k==2 and j==1: score2[k]+=score[j]*i else: w=score[j]*i w%=mod w*=i-1 w%=mod score2[k]+=w score[k]%=mod dp=dp2 score=score2 if i%2==0: result*=score[0] result%=mod print(result)