题目
1428: Bit++
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 187 Solved: 144
[Submit][Status][Web Board]
Description
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.
Sample Input
1
++X
2
X++
--X
Sample Output
1
0
想法
题目意思如果没读懂可能觉得有点难办,其实就是从0到n-1,然后根据指令判断+1还是-1
AC代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define pre(i,a,b) for(int i=a;i>=b;--i)
#define m(x) memset(x,0,sizeof x);
#define ll long long
const int maxn = 1e5+10;
string str1="X++",str2="++X",str3="X--",str4="--X";
int main(){
int n,i,x=0;
char a[150][3];
while(~scanf ("%d",&n)){
x = 0;
for (i=0;i<n;i++)
{
scanf ("%s",a[i]);
x=x+(a[i][1]=='+'?1:-1);//判断输入的是'+'or'-'
}
printf ("%d\n",x);
}
return 0;
}