結果
問題 |
No.49 算数の宿題
|
ユーザー |
|
提出日時 | 2024-03-05 16:15:34 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,552 bytes |
コンパイル時間 | 2,438 ms |
コンパイル使用メモリ | 197,532 KB |
最終ジャッジ日時 | 2025-02-20 01:00:37 |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (ll i = 0; i < (n); ++i) #define rep1(i, n) for (ll i = 1; i < (n); ++i) #define rrep(i, n) for (ll i = n; i > 0; --i) #define bitrep(i, n) for (ll i = 0; i < (1 << n); ++i) #define all(a) (a).begin(), (a).end() #define rall(a) (a).rbegin(), (a).rend() #define yesNo(b) ((b) ? "Yes" : "No") using ll = long long; using ull = unsigned long long; using ld = long double; string alphabet = "abcdefghijklmnopqrstuvwxyz"; string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const double pi = 3.141592653589793; int smallMOD = 998244353; int bigMOD = 1000000007; int main() { string s; cin >> s; string num1 = ""; string num2 = ""; char op = 'x'; rep(i, s.size()) { if (s[i] == '+' || s[i] == '*') { if (op == 'x') { op = s[i]; num1 = num2; num2 = ""; } else { if (op == '*') num1 = to_string(stoi(num1) + stoi(num2)); else num1 = to_string(stoi(num1) * stoi(num2)); num2 = ""; op = s[i]; } } else num2 += s[i]; } if (op != 'x') { if (op == '*') num1 = to_string(stoi(num1) + stoi(num2)); else num1 = to_string(stoi(num1) * stoi(num2)); num2 = ""; } else { num1 = num2; } cout << num1 << endl; return 0; }