結果
問題 | No.49 算数の宿題 |
ユーザー |
![]() |
提出日時 | 2017-03-01 14:23:21 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,502 bytes |
コンパイル時間 | 1,507 ms |
コンパイル使用メモリ | 164,532 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 01:55:16 |
合計ジャッジ時間 | 2,058 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:69:3: warning: ‘a’ may be used uninitialized in this function [-Wmaybe-uninitialized] 69 | if(a) { | ^~
ソースコード
#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef vector<int> VI;typedef vector<VI> VVI;typedef vector<ll> VL;typedef vector<VL> VVL;typedef pair<int, int> PII;#define FOR(i, a, n) for (ll i = (ll)a; i < (ll)n; ++i)#define REP(i, n) FOR(i, 0, n)#define ALL(x) x.begin(), x.end()#define MOD 1000000007#define INF (1LL<<25) //33554432#define PI 3.14159265359#define EPS 1e-12//#define int llvector<string> split(const string &str, char sep){vector<string> v;auto first = str.begin();while( first != str.end() ) {auto last = first;while( last != str.end() && *last != sep ) ++last;v.push_back(std::string(first, last));if( last != str.end() ) ++last;first = last;}return v;}signed main(void){string s;cin >> s;bool a;int idx = 0, b, ret = 0, f = false;REP(i, s.size()) {if(s[i] == '+') {b = stoi(s.substr(idx, i-idx+1));if(a && f) {ret *= b;} else if(!a && f){ret += b;} else if(!f) {ret = b;}f = true;a = true;idx = i+1;}if(s[i] == '*') {b = stoi(s.substr(idx, i-idx+1));if(a && f) {ret *= b;} else if(!a && f){ret += b;} else if(!f) {ret = b;}f = true;a = false;idx = i+1;}}b = stoi(s.substr(idx, s.size()-idx));if(a) {ret *= b;} else {ret += b;}cout << ret << endl;return 0;}