結果

問題 No.813 ユキちゃんの冒険
ユーザー gew1fw
提出日時 2025-06-12 21:39:35
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 688 bytes
コンパイル時間 141 ms
コンパイル使用メモリ 81,664 KB
実行使用メモリ 54,304 KB
最終ジャッジ日時 2025-06-12 21:43:46
合計ジャッジ時間 1,856 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 4 WA * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    input = sys.stdin.read().split()
    N = int(input[0])
    p = float(input[1])
    q = float(input[2])
    
    if q == 0.0:
        print("{0:.15f}".format(p))
        return
    
    a = [0.0] * (N + 1)
    b = [0.0] * (N + 1)
    
    a[0] = 1.0
    a[1] = 0.0
    b[0] = 0.0
    b[1] = 1.0
    
    for i in range(2, N + 1):
        a[i] = (a[i-1] - p * a[i-2]) / q
        b[i] = (b[i-1] - p * b[i-2]) / q
    
    numerator = p * a[N-1] - a[N]
    denominator = b[N] - p * b[N-1]
    
    if denominator == 0:
        x = 0.0
    else:
        x = numerator / denominator
    
    print("{0:.15f}".format(x))
    
if __name__ == "__main__":
    main()
0