結果
問題 | No.1049 Zero (Exhaust) |
ユーザー | 👑 SPD_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 |
ソースコード
""" 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)