• HDU1084 What Is Your Grade?(水题,简单)


    What Is Your Grade?

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


    Problem Description
    “Point, point, life of student!”
    This is a ballad(歌谣)well known in colleges, and you must care about your score in this exam too. How many points can you get? Now, I told you the rules which are used in this course.
    There are 5 problems in this final exam. And I will give you 100 points if you can solve all 5 problems; of course, it is fairly difficulty for many of you. If you can solve 4 problems, you can also get a high score 95 or 90 (you can get the former(前者) only when your rank is in the first half of all students who solve 4 problems). Analogically(以此类推), you can get 85、80、75、70、65、60. But you will not pass this exam if you solve nothing problem, and I will mark your score with 50.
    Note, only 1 student will get the score 95 when 3 students have solved 4 problems.
    I wish you all can pass the exam!
    Come on!
     
    Input
    Input contains multiple test cases. Each test case contains an integer N (1<=N<=100, the number of students) in a line first, and then N lines follow. Each line contains P (0<=P<=5 number of problems that have been solved) and T(consumed time). You can assume that all data are different when 0<p.
    A test case starting with a negative integer terminates the input and this test case should not to be processed.
     
    Output
    Output the scores of N students in N lines for each case, and there is a blank line after each case.
     
    Sample Input
    4 5 06:30:17 4 07:31:27 4 08:12:12 4 05:23:13 1 5 06:30:17 -1
     
    Sample Output
    100 90 90 95 100
     
    Author
    lcy
     
     
    #include<stdio.h>
    #include<algorithm>
    #include<stdlib.h>//qsort
    #include<iostream>
    #include<string.h>
    using namespace std;
    struct Node
    {
    int num;//输入的原始编号
    int n;//正确解题数
    int fen;//分数
    int time;//用掉的时间
    }node[110];
    int cmp1(const void *a,const void *b)
    {
    struct Node *c=(Node *)a;
    struct Node *d=(Node *)b;
    if(c->n == d->n)return c->time - d->time;
    return d->n - c->n;
    }
    int cmp2(const void *a,const void *b)
    {
    struct Node *c=(Node *)a;
    struct Node *d=(Node *)b;\
    return c->num - d->num;
    }
    int main()
    {
    int n,i,j,k;
    int sum[10];
    int tol[10];
    int h,m,s;
    while(scanf("%d",&n))
    {
    if(n<0)break;
    memset(sum,0,sizeof(sum));
    memset(tol,0,sizeof(tol));
    for(i=0;i<n;i++)
    {
    scanf("%d %d:%d:%d",&node[i].n,&h,&m,&s);
    node[i].num=i;
    node[i].time=h*3600+m*60+s;
    sum[node[i].n]++;
    }
    for(i=4;i>0;i--)
    {
    tol[i]=tol[i+1];
    tol[i]+=sum[i+1];
    }
    qsort(node,n,sizeof(node[0]),cmp1);
    for(i=0;i<n;i++)
    {
    node[i].fen=node[i].n*10+50;
    if(node[i].n>=1&&node[i].n<5&&(((i+1)-tol[node[i].n])<=sum[node[i].n]/2)) node[i].fen+=5;
    }
    qsort(node,n,sizeof(node[0]),cmp2);
    for(i=0;i<n;i++)
    {
    printf("%d\n",node[i].fen);
    }
    printf("\n");
    }
    return 0;

    }
  • 相关阅读:
    python 读fnl数据
    全面学习ORACLE Scheduler特性(12)使用Windows和Window Groups
    全面学习ORACLE Scheduler特性(11)使用Job Classes
    全面学习ORACLE Scheduler特性(9)创建Chains
    全面学习ORACLE Scheduler特性(10)管理Chains
    全面学习ORACLE Scheduler特性(8)Application抛出的Events
    全面学习ORACLE Scheduler特性(6)设置Repeat Interval参数
    全面学习ORACLE Scheduler特性(7)Scheduler抛出的Events
    全面学习ORACLE Scheduler特性(5)Schedules调度Programs执行的Jobs
    全面学习ORACLE Scheduler特性(4)创建和管理Schedule
  • 原文地址:https://www.cnblogs.com/kuangbin/p/2232037.html
Copyright © 2020-2023  润新知