結果
問題 |
No.498 ワープクリスタル (給料日編)
|
ユーザー |
![]() |
提出日時 | 2025-03-06 17:50:19 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 249 ms / 2,000 ms |
コード長 | 627 bytes |
コンパイル時間 | 606 ms |
コンパイル使用メモリ | 82,112 KB |
実行使用メモリ | 77,024 KB |
最終ジャッジ日時 | 2025-03-06 17:50:25 |
合計ジャッジ時間 | 5,047 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
gx,gy,n=map(int,input().split()) b=[] k=[0]*n for i in range(n): x,y,k[i]=map(int,input().split()) b+=[(x,y)] M=10**9+7 N=100 fa=[1] for i in range(1,N+1): fa+=[fa[-1]*i%M] fb=[pow(fa[N],M-2,M)] for i in reversed(range(1,N+1)): fb+=[fb[-1]*i%M] fb.reverse() a=0 q=[] def f(): global a if len(q)==n: px,py=0,0 for i in range(n): x,y=b[i] px+=x*q[i] py+=y*q[i] if (px,py)==(gx,gy): da=fa[sum(q)] for i in range(n): da*=fb[q[i]] da%=M a+=da a%=M return for i in range(k[len(q)]+1): q.append(i) f() q.pop() return f() print(a)