結果
| 問題 |
No.498 ワープクリスタル (給料日編)
|
| コンテスト | |
| ユーザー |
sasa8uyauya
|
| 提出日時 | 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)
sasa8uyauya