zoukankan      html  css  js  c++  java
  • "Accepted today?"[HDU1177]

    "Accepted today?"

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 2832    Accepted Submission(s): 1290


    Problem Description
    Do you remember a sentence "Accepted today?" Yes, the sentence is mentioned frequently in lcy's course "ACM Programming"!
    The contest is still in progress this moment. How excited it is! You, smart programmer, must have AC some problems today. "Can I get copper medal, silver medal, or even golden medal?" Oh, ha-ha! You must be considering this question. And now, the last problem of this contest comes.
    Give you all submitting data in the contest, and tell you the number of golden medals, silver medals and copper medals; your task is to output someone's contest result.
    Easy? Of course! I t is the reason that I designed the problem.
    When you have completed this contest, please remember that sentence〃 Accepted today?〃兒
     

     

    Input
    Input contains multiple test cases. Each test case starts with five numbers N (4 =< N <= 130 -- the total number of attendees), G, S, C (1<=G<=S<=C<N --G, S, C denoting the number of golden medals, silver medals and copper medals respectively) and M (0<M<=N). The next N lines contain an integer P (1<=P<=8 --number of problems that have been solved by someone) and a time T(for example,"02:45:17", meaning 2 hours and 45 minutes and 17 seconds consumed according to contest rules) each. You can assume that all submit data are different.
    A test case starting with 0 0 0 0 0 terminates input and this test case should not to be processed.
     

     

    Output
    For each case, print a sentence in a line, and it must be one of these sentences:
    Accepted today? I've got a golden medal :)
    Accepted today? I've got a silver medal :)
    Accepted today? I've got a copper medal :)
    Accepted today? I've got an honor mentioned :)

    Note:
    You will get an honor mentioned if you can't get copper medal, silver medal or golden medal.
     

     

    Sample Input

    10 1 2 3 6
    2 02:45:17
    2 02:49:01
    2 03:17:58
    2 03:21:29
    4 07:55:48
    3 04:25:42
    3 06:57:39
    2 02:05:02
    2 02:16:45
    2 02:41:37
    0 0 0 0 0

     

    Sample Output
    Accepted today? I've got a silver medal :)
    #include <stdio.h>  
    #include <algorithm>  
    using namespace std;  
      
    struct AC  
    {  
        int num,h,m,s;  
        int no;  
        int k;//k=1金,2银,3铜,4,安慰奖  
    } a[200];  
      
    int cmp(AC x,AC y)  
    {  
        if(x.num!=y.num)  
        return x.num>y.num;  
        if(x.h!=y.h)  
        return x.h<y.h;  
        if(x.m!=y.m)  
        return x.m<y.m;  
        return x.s<y.s;  
    }  
      
    int main()  
    {  
        int n,g,s,c,m,i;  
        while(~scanf("%d%d%d%d%d",&n,&g,&s,&c,&m))  
        {  
            if(n+g+s+m+c == 0)  
                break;  
            for(i = 0; i<n; i++)  
            {  
                a[i].no = i+1;  
                scanf("%d %d:%d:%d",&a[i].num,&a[i].h,&a[i].m,&a[i].s);  
            }  
            sort(a,a+n,cmp);  
            //printf("====
    ");  
            for(i = 0; i<n; i++)  
            {  
                if(g)  
                {  
                    a[i].k = 1;  
                    g--;  
                }  
                else if(s)  
                {  
                    a[i].k = 2;  
                    s--;  
                }  
                else if(c)  
                {  
                    a[i].k = 3;  
                    c--;  
                }  
                else  
                {  
                    a[i].k = 4;  
                }  
            }  
            for(i = 0; i<n; i++)  
            {  
                if(a[i].no == m)  
                {  
                    if(a[i].k == 1)  
                        printf("Accepted today? I've got a golden medal :)
    ");  
                    else if(a[i].k == 2)  
                        printf("Accepted today? I've got a silver medal :)
    ");  
                    else if(a[i].k == 3)  
                        printf("Accepted today? I've got a copper medal :)
    ");  
                    else if(a[i].k == 4)  
                        printf("Accepted today? I've got an honor mentioned :)
    ");  
                    break;  
                }  
            }  
        }  
      
        return 0;  
    }  
    View Code

     

  • 相关阅读:
    2019-2020-2 网络对抗技术 20175217 Exp6 MSF基础应用
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—第二周进展
    2019-2020-2 网络对抗技术 20175217 Exp5 信息搜集与漏洞扫描
    2019-2020-2 网络对抗技术 20175217 Exp4 恶意代码分析
    2019-2020-2 网络对抗技术 20175205 Exp 9 Web安全基础
    2019-2020-2 网络对抗技术 20175205 Exp8 Web基础
    2019-2020-2 网络对抗技术 20175205 Exp7 网络欺诈防范
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—个人报告
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—Week3
    2019-2020-2 网络对抗技术 20175205 Exp6 MSF基础应用
  • 原文地址:https://www.cnblogs.com/dramstadt/p/6086947.html
Copyright © 2011-2022 走看看