题意:计算GPA。
思路:按定义计算。
#include <iostream>
#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <cstdlib>
#include <string>
#include <string.h>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <ctype.h>
#include <sstream>
#define INF 1000000000
#define ll long long
#define min3(a,b,c) min(a,min(b,c))
#define max3(a,b,c) max(a,max(b,c))
using namespace std;
int mp[33][33];
int mp2[33][33];
int main(){
int n;
while(cin>>n){
double ans=0;
int sum=0;
for(int i=1;i<=n;i++){
int c;
string s;
cin>>c>>s;
if(s!="P"&&s!="N")sum+=c;
if(s=="A"){
ans+=c*4.0;
}else if(s=="A-"){
ans+=c*3.7;
}else if(s=="B+"){
ans+=c*3.3;
}else if(s=="B"){
ans+=c*3.0;
}else if(s=="B-"){
ans+=c*2.7;
}else if(s=="C+"){
ans+=c*2.3;
}else if(s=="C"){
ans+=c*2.0;
}else if(s=="C-"){
ans+=c*1.7;
}else if(s=="D"){
ans+=c*1.3;
}else if(s=="D-"){
ans+=c*1.0;
}
}
if(sum)ans/=sum;
printf("%.2lf\n",ans);
}
return 0;
}