hdu 5268 ZYB loves Score 水题

ZYB loves Score

Time Limit: 20 Sec

Memory Limit: 256 MB

题目连接

http://acm.hdu.edu.cn/showproblem.php?pid=5268

Description

One day,ZYB participated in the BestCoder Contest

There are four problems. Their scores are 1000,1500,2000,2500

According to the rules of BestCoder,If you solve one problem at x minutes,

You will get (250-x)/250∗100% of the original scores.

Obviously the final score must be an integer,becasue the original scores are multiple of 250

And if you make x wrong submissions,the score of this problem you get will be reduced by 50∗x

For example, if you solved the first problem in 5 minutes and you make one wrong submisson, the score of this problem is 980-50=930

To prevent very low scores,the lowest score of one problem is 40% of its original score

Input

Multiple test cases, the first line contains an integer T(no more than 20), indicating the number of cases. Each test case contains four lines

For i-th line of each test case there are two integers A,B which means you solved the i-th problem in A minutes and you have made B wrong submissons.

0≤A≤105,0≤B≤100

Output

For each case, the output should occupies exactly one line. The output format is Case #x: ans, here x is the data number begins at 1.

Sample Input

2
4 0
12 0
20 0
103 0
17 1
29 0
57 0
84 0

Sample Output

Case #1: 5722
Case #2: 5412

HINT

 

题意

有一天ZYB参加了一场BestCoder,这场比赛一共有4道题,分数分别为1000,1500,2000,2500。
一道题目如果在第x分钟解决,那么你只能得到这道题原来分数的(250−x)/250∗100%
由于原分数都是250的倍数,所以分数肯定是整数
当一道题错误提交一次后,这道题的分数会额外降50分
比如1000分的题你在5分钟时解决,然后你错误提交了一次,分数就是980-50=930
为了防止分数过低,一道题的分数不会低于原来分数的40%
ZYB是个高手,他四道题在最后都通过了
给出他四道题的过题时间和错误提交次数,求他最后的得分

 

题解:

本题考察了选手的模拟能力,直接按照题目意思计算即可

代码:

 

#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
#include <stack>
typedef long long ll;
using namespace std;
//freopen("D.in","r",stdin);
//freopen("D.out","w",stdout);
#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
#define test freopen("test.txt","r",stdin)  
#define maxn 2000001
#define mod 10007
#define eps 1e-9
const int inf=0x3f3f3f3f;
const ll infll = 0x3f3f3f3f3f3f3f3fLL;
inline ll read()
{
    ll x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
//**************************************************************************************

double a[4],b[4],c[4];
int main()
{
    //test;
    int t=read();
    c[0]=1000,c[1]=1500,c[2]=2000,c[3]=2500;
    for(int cas=1;cas<=t;cas++)
    {
        for(int i=0;i<4;i++)
            cin>>a[i]>>b[i];
        int ans=0;
        for(int i=0;i<4;i++)
            ans+=max((250-a[i])/250*c[i]-b[i]*50,(c[i]*0.4));
        printf("Case #%d: %d\n",cas,ans);
    }
    
}

 

    原文作者:qscqesze
    原文地址: https://www.cnblogs.com/qscqesze/p/4574611.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞