結果

問題 No.1049 Zero (Exhaust)
ユーザー 👑 SPD_9X2SPD_9X2
提出日時 2020-05-08 22:07:50
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 58 ms / 2,000 ms
コード長 835 bytes
コンパイル時間 155 ms
コンパイル使用メモリ 82,316 KB
実行使用メモリ 60,348 KB
最終ジャッジ日時 2024-07-04 00:46:01
合計ジャッジ時間 2,060 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

"""

modで考えるのはそう
(1)は xをx+iにする
(2)は xをx*iにする

どっちも一意だが…
0に何懸けても0
→足してから×ことになる

iとPは互いに素
iが余り0になるにはP回足す必要あり?

i * (i*i*i* ・・・ + i * i * … + 1 + 1 + … )

そもそも iが指定されてないやん!
足し算の方は互いに影響
掛け算は、mod0にとっては自分、そうでなければ全て同値
"""

P,K = map(int,input().split())

zero = 1
other = 0
mod = 10**9+7

for i in range(K):

    nz = 0
    no = 0

    #足し算

    nz += (zero + other*(P-1)) % mod
    no += (zero + other*(P-1)) % mod

    #掛け算
    #print (nz,no)

    nz += zero * P + other * (P-1)
    no += other * (P-1)

    zero = nz % mod
    other = no % mod

    #print (zero,other)

print (zero)
0