結果
問題 | No.49 算数の宿題 |
ユーザー |
![]() |
提出日時 | 2020-03-19 16:01:48 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 2,875 bytes |
コンパイル時間 | 1,326 ms |
コンパイル使用メモリ | 115,196 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 02:08:15 |
合計ジャッジ時間 | 1,858 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
#define _USE_MATH_DEFINES#include <algorithm>#include <bitset>#include <cassert>#include <cctype>#include <clocale>#include <cmath>#include <cstdio>#include <cstdlib>#include <ctime>#include <deque>#include <fstream>#include <functional>#include <iomanip>#include <iostream>#include <iterator>#include <list>#include <map>#include <queue>#include <regex>#include <set>#include <sstream>#include <stack>#include <string>#include <tuple>#include <unordered_map>#include <unordered_set>#include <utility>#include <vector>using namespace std;#define IOS ios::sync_with_stdio(false); cin.tie(0);#define FOR(i, s, n) for(int i = (s), i##_len=(n); i < i##_len; ++i)#define FORS(i, s, n) for(int i = (s), i##_len=(n); i <= i##_len; ++i)#define VFOR(i, s, n) for(int i = (s); i < (n); ++i)#define VFORS(i, s, n) for(int i = (s); i <= (n); ++i)#define REP(i, n) FOR(i, 0, n)#define REPS(i, n) FORS(i, 0, n)#define VREP(i, n) VFOR(i, 0, n)#define VREPS(i, n) VFORS(i, 0, n)#define RFOR(i, s, n) for(int i = (s), i##_len=(n); i >= i##_len; --i)#define RFORS(i, s, n) for(int i = (s), i##_len=(n); i > i##_len; --i)#define RREP(i, n) RFOR(i, n, 0)#define RREPS(i, n) RFORS(i, n, 0)#define ALL(v) (v).begin(), (v).end()#define SORT(v) sort(ALL(v))#define RSORT(v) sort(ALL(v), greater<decltype(v[0])>())#define SZ(x) ((int)(x).size())#define REV(x) reverse(ALL(x))#define PB push_back#define EB emplace_back#define MP make_pair#define MT make_tuple#define BIT(n) (1LL<<(n))#define UNIQUE(v) v.erase(unique(ALL(v)), v.end())using ld = long double;using ll = long long;using ui = unsigned int;using ull = unsigned long long;using Pi_i = pair<int, int>;using Pll_ll = pair<ll, ll>;using VB = vector<bool>;using VC = vector<char>;using VD = vector<double>;using VI = vector<int>;using VLL = vector<ll>;using VS = vector<string>;using VSH = vector<short>;using VULL = vector<ull>;const int MOD = 1000000007;const int INF = 1000000000;const int NIL = -1;const double EPS = 1E-10;template<class T, class S>bool chmax(T &a, const S &b){if(a < b){a = b; return true;}return false;}template<class T, class S>bool chmin(T &a, const S &b){if(b < a){a = b; return true;}return false;}int calc(int ret, int tmp, bool prd){if(prd) return ret * tmp;else return ret + tmp;}int main(){int ans = 0, tmp = 0;bool sumPrd = false;string S; cin >> S;REP(i, S.length()){if(S[i] == '+'){ans = calc(ans, tmp, sumPrd);sumPrd = true;tmp = 0;}else if(S[i] == '*'){ans = calc(ans, tmp, sumPrd);sumPrd = false;tmp = 0;}else{tmp = 10*tmp + S[i] - '0';}}cout << calc(ans, tmp, sumPrd) << endl;return 0;}