結果

問題 No.49 算数の宿題
ユーザー wk1080id
提出日時 2019-05-16 00:33:44
言語 C++11
(gcc 4.8.5)
結果
AC  
実行時間 3 ms
コード長 1,445 Byte
コンパイル時間 495 ms
使用メモリ 3,012 KB
最終ジャッジ日時 2019-08-12 07:15:29

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 3 ms
1,504 KB
02.txt AC 3 ms
1,508 KB
03.txt AC 3 ms
1,504 KB
04.txt AC 3 ms
3,012 KB
05.txt AC 2 ms
1,508 KB
06.txt AC 3 ms
3,012 KB
07.txt AC 3 ms
3,012 KB
08.txt AC 3 ms
3,012 KB
09.txt AC 3 ms
3,008 KB
10.txt AC 3 ms
3,008 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cctype>
#include<math.h>
#include<string>
#include<string.h>
#include<stack>
#include<queue>
#include<vector>
#include<utility>
#include<set>
#include<map>
#include<stdlib.h>
#include<iomanip>

using namespace std;

#define ll long long
#define ld long double
#define EPS 0.0000000001
#define INF 1e9
#define LINF (ll)INF*INF
#define MOD 1000000007
#define rep(i,n) for(int i=0;i<(n);i++)
#define loop(i,a,n) for(int i=a;i<(n);i++)
#define all(in) in.begin(),in.end()
#define shosu(x) fixed<<setprecision(x)

#define int ll //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int,int> pii;
typedef vector<pii> vp;

int gcd(int a, int b){
    if(b==0) return a;
    return gcd(b,a%b);
}
int lcm(int a, int b){
    return a/gcd(a,b)*b;
}

int number();
int factor();
int term();
int expression();

string s;
int ind;

int number(){
  int ret = 0;
  while(isdigit(s[ind])){
    ret *= 10;
    ret += s[ind] - '0';
    ind++;
  }
  return ret;
}

int expression(){
    int ret = number();
    while(1){
        if(s[ind] == '+'){
            ind++;
            ret *= number();
        }else if(s[ind] == '*'){
            ind++;
            ret += number();
        }else{
            break;
        }
    }
    return ret;
}



signed main(void) {
    cin >> s;
    cout << expression() << endl;

}
0