提出詳細
ソースコード
for i in range(int(input())):
print("Case #{}:".format(i + 1))
S = input()
stack = []
now = 0
while now < len(S):
if S[now] in [str(t) for t in range(1, 10)]:
stack.append(int(S[now]))
now += 1
elif S[now] == "&":
n2 = stack.pop(-1)
n1 = stack.pop(-1)
stack.append(n1 & n2)
now += 1
elif S[now] == "|":
n2 = stack.pop(-1)
n1 = stack.pop(-1)
stack.append(n1 | n2)
now += 1
elif S[now] == "^":
n2 = stack.pop(-1)
n1 = stack.pop(-1)
stack.append(n1 ^ n2)
now += 1
elif S[now] == ">":
n2 = stack.pop(-1)
n1 = stack.pop(-1)
stack.append(n1 >> n2)
now += 2
elif S[now] == "<":
n2 = stack.pop(-1)
n1 = stack.pop(-1)
stack.append(n1 << n2)
now += 2
print(stack.pop(-1))
提出情報
提出出力結果
テストケース情報