結果
問題 |
No.3006 ベイカーの問題
|
ユーザー |
|
提出日時 | 2025-02-02 22:26:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 47 ms / 2,000 ms |
コード長 | 651 bytes |
コンパイル時間 | 619 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 52,736 KB |
最終ジャッジ日時 | 2025-02-02 22:26:40 |
合計ジャッジ時間 | 3,180 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
MOD=998244353 def modinv(x): return pow(x,MOD-2,MOD) def add(a,b): return((a[0]+b[0])%MOD,(a[1]+b[1])%MOD) def sub(a,b): return((a[0]-b[0])%MOD,(a[1]-b[1])%MOD) def mul(a,b): return((a[0]*b[0]-5*a[1]*b[1])%MOD,(a[0]*b[1]+a[1]*b[0])%MOD) def inv(a): u,v=a;n=(u*u+5*v*v)%MOD;return(u*modinv(n)%MOD,(-v)*modinv(n)%MOD) def power(a,e): r=(1,0) b=a while e: if e&1: r=mul(r,b) b=mul(b,b) e//=2 return r a,b,N=map(int,input().split()) a,b=a%MOD,b%MOD A=(a,b) if A==(1,0): print(N%MOD,0) else: p=power(A,N+1) num=sub(p,A) denom=inv(sub(A,(1,0))) S=mul(num,denom) print(S[0],S[1])