結果
| 問題 |
No.1135 RPN
|
| ユーザー |
damin
|
| 提出日時 | 2020-11-04 01:27:39 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,087 bytes |
| コンパイル時間 | 137 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-07-22 09:30:13 |
| 合計ジャッジ時間 | 1,501 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 WA * 1 |
| other | AC * 13 RE * 3 |
ソースコード
import sys
try:
import os
f = open('input.txt', 'r')
sys.stdin = f
except FileNotFoundError:
None
from math import sqrt, ceil
input=lambda: sys.stdin.readline().strip()
n=int(input())
A=list(map(str,input().split()))
s=A
now=0
def expr():
global now
ans= term()
while now<n :
y = term()
op = s[now]
now+=1
if op =="+":
ans+= y
else:
ans-=y
return ans
def term():
global now
if now >=n:
return 0
elif n-2 <= now:
print(s[now],now)
x = int(s[now])
now +=1
return x
elif s[now].isdecimal() and s[now+1].isdecimal() and s[now+2] in "+-":
x = int(s[now])
y = int(s[now+1])
op = s[now+2]
now+=3
if op=="+": return x+y
return x-y
elif all([s[i].isdecimal() for i in range(now,now+3)]):
x = int(s[now]); now+=1
y = term()
op = s[now]
now+=1
if op=="+":return x+y
return x-y
now+=1
return int(s[now])
print(expr())
damin