#include <stdio.h> int main() { puts("转载请注明出处谢谢"); puts("http://blog.csdn.net/vmurder/article/details/43449913"); }
看题意的时间远比写的时间长?
估计是bestcoder某round 的T1?
我要写的不是4810么?……
题意:
多组数据,每组输入n次成绩ci、leveli
然后每个leveli都是个字符串,都对应一个分数si,
然后照下面式子输出
什么?你问我题解?上面的题意就是题解!
代码:
#include <map> #include <string> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 100 #define eps 1e-5 using namespace std; map<string,double>M; double s,sum1,sum2; string level; int n; void init() { M["A"]=4.0; M["A-"]=3.7; M["B+"]=3.3; M["B"]=3.0; M["B-"]=2.7; M["C+"]=2.3; M["C"]=2.0; M["C-"]=1.7; M["D"]=1.3; M["D-"]=1.0; M["F"]=0; } int main() { freopen("test.in","r",stdin); init(); int i,j,k; while(scanf("%d",&n)!=EOF) { sum1=sum2=0; while(n--) { cin>>s>>level; if(level=="P"||level=="N")continue; sum1+=s*M[level]; sum2+=s; } if(sum2<eps)puts("0.00"); else printf("%.2lf\n",sum1/sum2); } return 0; }
时间: 2025-02-01 09:16:44