結果
問題 | No.222 引き算と足し算 |
ユーザー |
![]() |
提出日時 | 2020-12-25 11:01:31 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 599 bytes |
コンパイル時間 | 1,828 ms |
コンパイル使用メモリ | 191,720 KB |
最終ジャッジ日時 | 2025-01-17 07:09:06 |
ジャッジサーバーID (参考情報) |
judge1 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { string s; cin >> s; int absx = 0, absy = 0, signx = 1, signy = 1, op = 0, flag = false; for (auto& c : s) { if (c >= '0' && c <= '9') { ((op ? absy : absx) *= 10) += c - '0'; flag = true; } else { int sign = (c == '+' ? 1 : -1); if (!flag) signx = sign; else if (!op) op = sign; else { signy = sign; } } } cout << signx * absx - op * signy * absy << endl; }