描述
最近果果有了一款不错的个人取款机,现在他成为了一个小财迷,到处去爸爸妈妈那里赚钱,偶尔也会取取钱,又存回去,体验一下取钱和存钱的快乐!
现在给出若干操作,问最终取款机中有多少元钱?
输入
输入数据有多组,每组的第一行有三个正整数s,p和n,表示储蓄罐中一开始有s元钱,最多能存p元钱,n表示操作次数。
接下来有n行,每行由一个字符c和正整数m组成,其中c可以取字符x和y(x表示存钱,y表示取钱),m为存取钱的数量(单位:元)。
1<=s,n,m<=100,p<=10000
输入以EOF结束。
输出
每组输出为一个整数,表示储蓄罐中还有多少元钱。
对于每次操作,如果不可能完成,该次操作无效(不进行任何操作)。
样例输入
0 10 3
x 5
y 2
x 10
0 10 1
x 10
样例输出
3
10
分析:
这题总体的正确率不高,猜测是没有看到题中所写:
对于每次操作,如果不可能完成,该次操作无效(不进行任何操作)。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int s,p,n;
while(cin>>s>>p>>n)
{
string S;
int m;
for (int i=0;i<n;i++)
{
cin>>S>>m;
if (S[0]=='x')
{
if (s+m>p) continue;
else
s+=m;
}
else
{
if (s-m>=0) s-=m;
else
continue;
}
}
cout<<s<<endl;
}
return 0;
}