zoukankan      html  css  js  c++  java
  • hdu1084

    #include<iostream>
    #include<algorithm>
    using namespace std;

    #define N 101

    struct node
    {
    int score; //学生分数
    int num; //学生做出的题目数目
    char time[10]; //花费时间
    } stu[N];

    bool cmp(const node& a,const node& b)
    {
    if(a.num==b.num)
    return strcmp(a.time,b.time)<0; //题目相等时,按时间从小到达排序
    else
    return a.num>b.num;
    }

    int s[6][2]={50,50,60,65,70,75,80,85,90,95,100,100};

    int main()
    {
    int n,i,x[6],j;
    char index[N][10]; //索引,方便输出时找到对应项

    while(scanf("%d",&n) &&n>0)
    {
    for(i=1;i<=n;i++)
    {
    scanf("%d%s",&stu[i].num,stu[i].time);
    strcpy(index[i],stu[i].time);
    }
    sort(stu+1,stu+n+1,cmp);
    memset(x,0,sizeof(x)); //相同题目数的人数
    for(i=1;i<=n;i++)
    x[stu[i].num]++;
    for(i=1;i<=4;i++) //排名在n/2以前的数目
    if(x[i]!=1) //只有1人时也要多5分
    x[i]/=2;
    for(i=1;i<=n;i++)
    if(x[stu[i].num]>0)
    {
    stu[i].score=s[stu[i].num][1];
    x[stu[i].num]--;
    }
    else
    stu[i].score=s[stu[i].num][0];
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(strcmp(index[i],stu[j].time)==0)
    {
    printf("%d ",stu[j].score);
    break;
    }
    putchar(' ');
    }
    return 0;
    }

  • 相关阅读:
    java final计算
    浅析Java中的final关键字
    easyui
    Java:类与继承
    java中&和&&
    XML
    JSON
    SQL
    selenium
    Metasploit
  • 原文地址:https://www.cnblogs.com/wangkun1993/p/6341658.html
Copyright © 2011-2022 走看看