結果
| 問題 | No.708 (+ー)の式 | 
| コンテスト | |
| ユーザー |  ikd | 
| 提出日時 | 2018-07-16 09:31:19 | 
| 言語 | Nim (2.2.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 558 bytes | 
| コンパイル時間 | 2,962 ms | 
| コンパイル使用メモリ | 66,736 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-07-01 03:12:21 | 
| 合計ジャッジ時間 | 3,530 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 12 | 
コンパイルメッセージ
/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, 36) Warning: imported and not used: 'algorithm' [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
  ng=false
for i in countdown(s.len-1, 0):
  if s[i]==')':
    ng=true
  elif s[i]=='(':
    var
      ret=s[i+1].ord-'0'.ord
      j=i+2
    while s[j]!=')':
      if s[j]=='+':
        ret+=s[j+1].ord-'0'.ord
      elif s[j]=='-':
        ret-=s[j+1].ord-'0'.ord
      j+=1
    if i-1>=0 and s[i-1]=='-':
      ret= -ret
    res+=ret
    ng=false
  if s[i].isDigit and ng==false:
    var ret=s[i].ord-'0'.ord
    if i-1>=0 and s[i-1]=='-':
      ret= -ret
    res+=ret
echo res
            
            
            
        