Baseplate-Admin

282A. Bit++

4 min read

Problem

The classic programming language of Bitland is Bit++. This language is so peculiar and complicated.

The language is that peculiar as it has exactly one variable, called x. Also, there are two operations:

  • Operation ++ increases the value of variable x by 1.
  • Operation -- decreases the value of variable x by 1.

A statement in language Bit++ is a sequence, consisting of exactly one operation and one variable x. The statement is written without spaces, that is, it can only contain characters ”+”, ”-”, “X”. Executing a statement means applying the operation it contains.

A programme in Bit++ is a sequence of statements, each of them needs to be executed. Executing a programme means executing all the statements it contains.

You’re given a programme in language Bit++. The initial value of x is 0. Execute the programme and find its final value (the value of the variable when this programme is executed).

Input

The first line contains a single integer n (1 ≤ n ≤ 150) — the number of statements in the programme.

Next n lines contain a statement each. Each statement contains exactly one operation (++ or --) and exactly one variable x (denoted as letter «X»). Thus, there are no empty statements. The operation and the variable can be written in any order.

Output

Print a single integer — the final value of x.

Examples

Input Output
1
++X
1
2
X++
--X
0

Analyzation

So basically we check for the existance of ++ or -- ( this can be easily done by substring ).

If :

  • ++ exists (regardless of if it’s at start or end), increase count by one.
  • -- exists (regardless of if it’s at start or end), decrease count by one.

Solution ( Python )

no_of_turns = int(input())


actual = 0

for i in range(0, no_of_turns):
    ask = input()
    if "--" in ask:
        actual -= 1
    elif "++" in ask:
        actual += 1

print(actual) 

Solution ( C-Plus-Plus )

#include <bits/stdc++.h>
using namespace std;


int main()
{
    int no;
    cin >> no;

    int c = 0;
    for (int i = 0; i < no; i++)
    {
        string s;
        cin >> s;
        if (s.find("++") != string::npos)
        {
            c++;
        }
        if (s.find("--") != string::npos)
        {
            c--;
        }
    }

    cout << c << "\n";
}

Baseplate-Admin

I’m Baseplate-Admin, a software engineer based in Middle of Nowhere.