結果
| 問題 |
No.1275 綺麗な式
|
| コンテスト | |
| ユーザー |
とりゐ
|
| 提出日時 | 2022-10-05 01:13:41 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 50 ms / 2,000 ms |
| コード長 | 459 bytes |
| コンパイル時間 | 2,946 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 52,480 KB |
| 最終ジャッジ日時 | 2024-12-30 17:36:34 |
| 合計ジャッジ時間 | 5,387 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 60 |
ソースコード
mod=10**9+7
def mul(x1,y1,x2,y2,z):
# (x1+y1*sqrt(z))*(x2+y2*sqrt(z))
x3=(x1*x2+y1*y2%mod*z)%mod
y3=(x1*y2+y1*x2)%mod
return x3,y3
def extpow(x,y,z,n):
# (x+y*sqrt(z))^n
if n==0:
return (1,0)
if n%2:
x1,y1=extpow(x,y,z,n-1)
return mul(x,y,x1,y1,z)
else:
x1,y1=extpow(x,y,z,n//2)
return mul(x1,y1,x1,y1,z)
a,b=map(int,input().split())
n=int(input())
ans1=extpow(a,1,b,n)[0]
ans2=extpow(a,-1,b,n)[0]
print((ans1+ans2)%mod)
とりゐ