You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.2 KiB

#include <bits/stdc++.h>
using namespace std;
struct action {
int v;
int c;
};
int main() {
//输入+输出重定向
//freopen("../x.in", "r", stdin);
//freopen("../x.out", "w", stdout);
stack<action> s;
int v0, c0, n;
string cmd;
int v, c;
action a;
cin >> v0 >> c0 >> n;
for (int i = 0; i < n; ++i) {
cin >> cmd;
if (cmd == "P") {
cin >> v >> c;
a.c = c;
a.v = v;
s.push(a);
//计算现在的质量和浓度
v0 += a.v;
c0 += a.c;
//输出计算完的结果
cout << v0 << " " << setiosflags(ios::fixed) << setprecision(5) << 100*c0 * 1.0 / v0 << endl;
}
if (cmd == "Z") {
if (!s.empty()) {
a = s.top();
//计算现在的质量和浓度
v0 -= a.v;
c0 -= a.c;
//输出计算完的结果
cout << v0 << " " << setiosflags(ios::fixed) << setprecision(5) << 100*c0 * 1.0 / v0 << endl;
s.pop();
}
}
}
//关闭文件
//fclose(stdin);
//fclose(stdout);
return 0;
}