結果

問題 No.1196 A lazy student
ユーザー Shuz*
提出日時 2020-08-22 16:31:52
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 930 bytes
コンパイル時間 232 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 264,448 KB
最終ジャッジ日時 2024-10-15 10:29:54
合計ジャッジ時間 3,368 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 5 TLE * 1 -- * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys

sys.setrecursionlimit(1000000)

N = int(input())
P, Q, R = map(float, input().split())


class vec:
    def __init__(self, x):
        self.x = x

    def __and__(self, other):
        return vec(self.x * other.x * (1.0 - R) + (1.0 - self.x * other.x) * R)

    def __or__(self, other):
        return vec(
            (1.0 - (1.0 - self.x) * (1.0 - other.x)) * (1.0 - R)
            + (1.0 - self.x) * (1.0 - other.x) * R
        )


def RA(a, b):
    return vec(a.x * b.x * P + (1.0 - a.x * b.x) * Q)


y = vec(1.0)
n = vec(0.0)

S = (
    input()
    .replace("random", "RA")
    .replace("and", "&")
    .replace("or", "|")
    .replace("YES", "y ")
    .replace("NO", "n ")
)
T = S[0]

for i in range(len(S) - 1):
    if S[i] == " " or S[i] == ")":
        if S[i + 1] == "y" or S[i + 1] == "n" or S[i + 1] == "(" or S[i + 1] == "R":
            T += ","
    T += S[i + 1]


s = eval(T)

print(int(s.x * 100.0))

0