結果
| 問題 |
No.1135 RPN
|
| ユーザー |
damin
|
| 提出日時 | 2020-11-04 02:19:16 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,800 bytes |
| コンパイル時間 | 686 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 10,880 KB |
| 最終ジャッジ日時 | 2024-07-22 09:35:16 |
| 合計ジャッジ時間 | 1,678 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 15 WA * 1 |
ソースコード
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())
s=list(map(str,input().split()))
now=0
# def expr():
# global now
# ans= term()
# while now<n and s[now] not in "+-" :
# y = expr()
# 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)]):
# else:
#
# 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())
def expr():
global now
x = term()
ans = x
if now >=n or s[now] in "+-":
return x
y = expr()
op = s[now] ;now+=1
if op =="+":return x+y
return x-y
def term():
global now
if n-2 <= now:
now+=1
return int(s[now-1])
if s[now].isdecimal() and s[now+1].isdecimal() and s[now+2] in "+-":
op= s[now+2]
now+=3
if op=="+":
return int(s[now-3])+ int(s[now-2])
else:
return int(s[now-3])-int(s[now-2])
else:
now+=1
return int(s[now-1])
print(expr())
damin