Improving the GPA

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 652    Accepted Submission(s): 476

Problem Description
Xueba: Using the 4-Point Scale, my GPA is 4.0.

In fact, the AVERAGE SCORE of Xueba is calculated by the following formula:
AVERAGE SCORE = ∑(Wi * SCOREi) / ∑(Wi) 1<=i<=N
where SCOREi represents the scores of the ith course and Wi represents the credit of the corresponding course.

To simplify the problem, we assume that the credit of each course is
1. In this way, the AVERAGE SCORE is ∑(SCOREi) / N. In addition, SCOREi
are all integers between 60 and 100, and we guarantee that ∑(SCOREi) can
be divided by N.

In SYSU, the university usually uses the
AVERAGE SCORE as the standard to represent the students’ level. However,
when the students want to study further in foreign countries, other
universities will use the 4-Point Scale to represent the students’
level. There are 2 ways of transforming each score to 4-Point Scale.
Here is one of them.

The student’s average GPA in the 4-Point Scale is calculated as follows:GPA = ∑(GPAi) / N
So given one student’s AVERAGE SCORE and the number of the courses,
there are many different possible values in the 4-Point Scale. Please
calculate the minimum and maximum value of the GPA in the 4-Point Scale.

 
Input
The input begins with a line containing an integer T (1 < T <
500), which denotes the number of test cases. The next T lines each
contain two integers AVGSCORE, N (60 <= AVGSCORE <= 100, 1 <= N
<= 10).
 
Output
For each test case, you should display the minimum and maximum value
of the GPA in the 4-Point Scale in one line, accurate up to 4 decimal
places. There is a space between two values.
 
Sample Input
4
75 1
75 2
75 3
75 10
 
Sample Output
3.0000 3.0000
2.7500 3.0000
2.6667 3.1667
2.4000 3.2000

Hint

In the third case, there are many possible ways to calculate the minimum value of the GPA in the 4-Point Scale.
For example,

Scores 78 74 73 GPA = (3.0 + 2.5 + 2.5) / 3 = 2.6667
Scores 79 78 68 GPA = (3.0 + 3.0 + 2.0) / 3 = 2.6667
Scores 84 74 67 GPA = (3.5 + 2.5 + 2.0) / 3 = 2.6667
Scores 100 64 61 GPA = (4.0 + 2.0 + 2.0) / 3 = 2.6667
 
Author
SYSU
 
Source
 
 
 
解析:题中GPA分为5种档次,N <= 10,数据量比较小,可以直接枚举每种档次的GPA的课程数。对于每种可能方案,算出该方案下的最低总分和最高总分。如果输入的总分在此范围内,说明该方案是可行的。算出所有可行方案中的最小GPA和最大GPA即可。
 
 
 
 #include <cstdio>

 int T;
int AVGSCORE,N;
int sumscore;
int max_score,min_score;
double max_gpa,min_gpa; int main()
{
scanf("%d",&T);
while(T--){
scanf("%d%d",&AVGSCORE,&N);
sumscore = AVGSCORE*N;
max_gpa = -1.0;
min_gpa = 0x7fffffff;
for(int i = ; i <= N; ++i)
for(int j = ; j<= N-i; ++j)
for(int k = ; k <= N-i-j; ++k)
for(int l = ; l <= N-i-j-k; ++l){
int m = N-i-j-k-l;
max_score = *i+*j+*k+*l+*m;
min_score = *i+*j+*k+*l+*m;
if(sumscore <= max_score && sumscore >= min_score){
double gpa = 4.0*i+3.5*j+3.0*k+2.5*l+2.0*m;
if(gpa>max_gpa)
max_gpa = gpa;
if(gpa<min_gpa)
min_gpa = gpa;
}
}
max_gpa /= N;
min_gpa /= N;
printf("%.4f %.4f\n",min_gpa,max_gpa);
}
return ;
}

HDU 4968 Improving the GPA的更多相关文章

  1. HDU 4968 Improving the GPA(dp)

    HDU 4968 Improving the GPA 题目链接 dp.最大最小分别dp一次,dp[i][j]表示第i个人,还有j分的情况,分数能够减掉60最为状态 代码: #include <c ...

  2. hdu 4968 Improving the GPA (水 暴力枚举)

    题目链接 题意:给平均成绩和科目数,求可能的最大学分和最小学分. 分析: 枚举一下,可以达到复杂度可以达到10^4,我下面的代码是10^5,可以把最后一个循环撤掉. 刚开始以为枚举档次的话是5^10, ...

  3. hdu 4968 最大最小gpa

    http://acm.hdu.edu.cn/showproblem.php?pid=4968 给定平均分和科目数量,要求保证及格的前提下,求平均绩点的最大值和最小值. dp[i][j]表示i个科目,总 ...

  4. HDU 4968(杭电多校#9 1009题)Improving the GPA (瞎搞)

    题目地址:HDU 4968 这题的做法是全部学科的学分情况枚举,然后推断在这样的情况下是否会符合平均分. 直接暴力枚举就可以. 代码例如以下: #include <cstring> #in ...

  5. Improving the GPA 分类: 贪心 HDU 比赛 2015-08-08 16:12 11人阅读 评论(0) 收藏

    Improving the GPA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...

  6. Improving the GPA(hdu4968)dfs

    Improving the GPA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...

  7. HDU 4968 (水dp 其他?)

    +;],dp1[][],dp2[][]; map<      memset(GPA,,     ;i<=;i++) hash[i]=;     ;i<=;i++) hash[i]=; ...

  8. 2014 Multi-University Training Contest 9

    官方解题报告:http://blog.sina.com.cn/s/blog_6bddecdc0102uzwm.html Boring Sum http://acm.hdu.edu.cn/showpro ...

  9. hdu 4802 GPA 水题

    GPA Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4802 Des ...

随机推荐

  1. 由于本公司项目需要,现急需拥有微软MCSE证书的人才,一经录用,待遇从优!

    志鸿科技于1988年在香港创办,从事资讯科技服务,为本地及跨国金融企业提供各种合适的企业应用软件及方案,并于2000年6月30日在香港联合交易所创业板成功上市 (股票代号8048),香港长江实业.新加 ...

  2. 【BZOJ3524】 [Poi2014]Couriers

    Description 给一个长度为n的序列a.1≤a[i]≤n.m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0. ...

  3. C# - dynamic 类型

    C#4引入dynamic关键字,定义变量时,可以不初始化它的值. dynamic类型仅在编译期间存在,在运行期间会被System.Object类型替代. dynamic myDynamicVar; m ...

  4. Qt的gzip模块实现

    一直没找到Qt中方便的gzip模块,于是自己动手,调用zlib模块实现了一份. 目标:  1.gzip的压缩与解压 2.内存中操作 3.方便的Qt接口   实现分析: gzip 压缩算法为 defla ...

  5. 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)

    首先我们来看一道题  BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...

  6. Partition an array around an interger

    Partition an array of integers around a value such taht all elements less than x come before element ...

  7. Log4net Level

    ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); l ...

  8. DeepID人脸识别算法之三代(转)

    DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三 ...

  9. linux grep和正则表达式

    虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟 ...

  10. mysql学习链接

    1 传智播客PHP培训.刘道成.PHP视频教程.mysql http://down.51cto.com/zt/887