解法1:メモ化再帰
考え方
modの逆数(modの逆数 - 競プロはじめました)さえわかれば,再帰的に計算できる.回答例
import sys sys.setrecursionlimit(10 ** 6) from functools import lru_cache N, P = map(int, input().split()) mod = 998244353 a = P * pow(100, mod - 2, mod) a %= mod b = (100 - P) * pow(100, mod - 2, mod) b %= mod @lru_cache(maxsize = None) def f(x): if x <= 0: return 0 return (1 + f(x - 2) * a + f(x - 1) * b) % mod print(f(N))