zoukankan      html  css  js  c++  java
  • 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
    ",cas,ans);
        }
        
    }
  • 相关阅读:
    线程安全(上)--彻底搞懂volatile关键字
    数据库设计三大范式
    1、框架及环境搭建
    约瑟夫问题
    链表(上):如何实现LRU缓存淘汰算法?
    为什么很多编程语言中数组都是从 0 开始编号?
    mac 终端命令小结
    复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度
    复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
    程序员少走弯路的10条忠告和成就一生的10个经典故事
  • 原文地址:https://www.cnblogs.com/qscqesze/p/4574611.html
Copyright © 2011-2022 走看看