結果

問題 No.222 引き算と足し算
ユーザー ctyl_0ctyl_0
提出日時 2015-10-02 15:31:22
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 1,177 bytes
コンパイル時間 731 ms
コンパイル使用メモリ 84,488 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-15 22:05:22
合計ジャッジ時間 1,620 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:55:30: warning: ‘op’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   55 |     string a = s.substr(0, op);
      |                              ^

ソースコード

diff #

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <numeric>
#include <functional>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <string>

#define repd(i,a,b) for (int i=(a);i<(b);i++)
#define rep(i,n) repd(i,0,n)
typedef long long ll;

using namespace std;


int inputValue(){
    int a;
    cin >> a;
    return a;
};

template <typename T>
void output(T a, int precision) {
    if(precision > 0){
        cout << setprecision(precision)  << a << "\n";
    }
    else{
        cout << a << "\n";
    }
}

int main() {
    
    // source code
    
    string s;
    cin >> s;
    int op;
    bool pm = false; // true: +, false: -
    repd(i, 1, s.size()){
        if (s[i] == '+' || s[i] == '-') {
            op = i;
            if (s[i] == '+') {
                pm = true;
            }
            break;
        }
    }
    
    string a = s.substr(0, op);
    string b = s.substr(op + 1, s.size() - op - 1);
    
    int aa = atoi(a.c_str());
    int bb = atoi(b.c_str());
    
    if (pm) {
        output(aa - bb, 0);
    }
    else{
        output(aa + bb, 0);
    }
    
    return 0;
}
0