結果

問題 No.1275 綺麗な式
ユーザー nagiss
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0