結果
問題 |
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)