結果
問題 | No.708 (+ー)の式 |
ユーザー |
![]() |
提出日時 | 2021-10-12 00:20:41 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 902 bytes |
コンパイル時間 | 1,356 ms |
コンパイル使用メモリ | 171,108 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 12:47:21 |
合計ジャッジ時間 | 2,071 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
import std;void main() {string S = readln.chomp;void calc(ref int a, int b, dchar op) {if (op == '+') {a += b;}else {a -= b;}}dchar o = '+', p = '+';bool inBracket;int res, num;foreach (s; S) {if (inBracket) {if (s == ')') {calc(res, num, o);num = 0;p = '+';inBracket = false;}else if (s.isNumber) {calc(num, s-'0', p);}else {p = s;}}else {if (s == '(') {inBracket = true;}else if (s.isNumber) {calc(res, s-'0', o);}else {o = s;}}}res.writeln;}