n = 2
arr = [0.4] * n

def solve(n, arr):
    rs = [0.]
    rs.extend(arr)
    rs.append(0.)
    xs = [[0., 1.]]
    xs.extend([[0., 0.] for _ in range(n + 1)])
    ans = 0
    for _ in range(1000):
        _xs = [[] for _ in range(n + 2)]
        for i in range(1, n + 1):
            x = xs[i - 1][1] * rs[i] + xs[i + 1][0] * (1 - rs[i])
            y = xs[i - 1][1] * (1 - rs[i]) + xs[i + 1][0] * rs[i]
            _xs[i] = [x, y]
        _xs[0] = [xs[1][0], 0.]
        _xs[n + 1] = [0., xs[n][1]]
        xs = [[e[0], e[1]] for e in _xs]
        ans += xs[0][0]

    return ans
print(solve(n, arr))

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: