結果
問題 | No.1275 綺麗な式 |
ユーザー |
![]() |
提出日時 | 2020-10-30 22:11:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 554 bytes |
コンパイル時間 | 246 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-07-22 00:55:06 |
合計ジャッジ時間 | 4,124 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 60 |
ソースコード
A, B = map(int, input().split()) N = int(input()) class AB: pass l = AB() l.a = A l.b = 1 mod = 10**9+7 def mul(l, r): res = AB() res.a = (l.a * r.a + l.b * r.b * B) % mod res.b = (l.a * r.b + l.b * r.a) % mod return res def pow(a, n): res = AB() if n == 0: res.a = 1 res.b = 0 return res elif n == 1: return a elif n % 2: p = pow(a, n//2) return mul(mul(p, p), a) else: p = pow(a, n//2) return mul(p, p) ans = pow(l, N).a * 2 % mod print(ans)