結果
問題 |
No.708 (+ー)の式
|
ユーザー |
![]() |
提出日時 | 2018-07-16 09:09:58 |
言語 | Nim (2.2.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 583 bytes |
コンパイル時間 | 3,120 ms |
コンパイル使用メモリ | 66,156 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-01 03:12:31 |
合計ジャッジ時間 | 3,604 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 WA * 2 |
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 28) Warning: Use the new 'sugar' module instead; future is deprecated [Deprecated] /home/judge/data/code/Main.nim(1, 8) Warning: imported and not used: 'strutils' [UnusedImport] /home/judge/data/code/Main.nim(1, 18) Warning: imported and not used: 'sequtils' [UnusedImport] /home/judge/data/code/Main.nim(1, 28) Warning: imported and not used: 'future' [UnusedImport]
ソースコード
import strutils, sequtils, future, algorithm var s=stdin.readLine res=0 stack=newSeq[char]() for i in countdown(s.len-1, 0): if s[i]=='(': var ret=stack.pop.ord-'0'.ord c=stack.pop while c!=')': if c=='+': ret+=stack.pop.ord-'0'.ord else: ret-=stack.pop.ord-'0'.ord c=stack.pop stack.add((ret+'0'.ord).chr) else: stack.add(s[i]) reverse(stack) res=stack[0].ord-'0'.ord for i in 1..<stack.len: if stack[i]=='+': res+=stack[i+1].ord-'0'.ord elif stack[i]=='-': res-=stack[i+1].ord-'0'.ord echo res