ACM Arithmetic Expression

Description

Given N arithmetic expressions, can you tell whose result is closest to 9?

Input

Line 1: N (1 <= N <= 50000).
Line 2..N+1: Each line contains an expression in the format of "a op b" where a, b are integers (-10000 <= a, b <= 10000) and op is one of addition (+), subtraction (-), multiplication (*) and division (/). There is no "divided by zero" expression.

Output

The index of expression whose result is closest to 9. If there are more than one such expressions, output the smallest index.

Sample Input

4
901 / 100
3 * 3
2 + 6
8 - -1

Sample Output

2
#include 
#include <string>
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<double> res(n,0);
    for(int i = 0 ; i < n; ++ i){
        double a,b;
        char op;
        cin >> a >> op >> b;
        switch(op){
        case '+':
            res[i] = fabs(a+b-9);
            break;
        case '-':
            res[i] = fabs(a-b-9);
            break;
        case '*':
            res[i] = fabs(a*b-9);
            break;
        case '/':
            res[i] = fabs(a/b-9);
            break;
        default:
            break;
        }
    }
    cout<1<<endl;
    return 0;
}

 

转载于:https://www.cnblogs.com/xiongqiangcs/p/3647495.html

你可能感兴趣的:(ACM Arithmetic Expression)