搜尋
首頁php教程php手册九度OnlineJudge之1014:排名

题目描述:                       

    今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分值,所以并不是最后的排名。给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。

输入:                       

    测试输入包含若干场考试的信息。每场考试信息的第1行给出考生人数N ( 0

    当读入的考生人数为0时,输入结束,该场考试不予处理。

输出:                       

    对每场考试,首先在第1行输出不低于分数线的考生人数n,随后n行按分数从高到低输出上线考生的考号与分数,其间用1空格分隔。若有多名考生分数相同,则按他们考号的升序输出。

样例输入:                       

4 5 25

10 10 12 13 15

CS004 3 5 1 3

CS003 5 2 4 1 3 5

CS002 2 1 2

CS001 3 2 3 5

1 2 40

10 30

CS001 1 2

2 3 20

10 10 10

CS000000000000000001 0

CS000000000000000002 2 1 2

0

样例输出:                       

3

CS003 60

CS001 37

CS004 37

0

1

CS000000000000000002 20

 

#include <iostream>  
#include <string>  
#include <vector>  
#include <algorithm>  
#include <cstring>  
  
using namespace std;  
  
  
typedef struct  persons  
{  
    string id;  
    int total;  
    int grade;  
}persons;  
  
bool  compare(persons a,persons b)  
{  
    if (a.grade!=b.grade)  
    return a.grade>b.grade;  
    else  
    return a.id < b.id;  
}  
  
  
int main()  
{  
    int N,M,G;  
  
    vector<persons>   vec;  
      
    int grade[11];  
  
      
  
    while(cin>>N,N!=0)  
    {  
        memset(grade,0,sizeof(grade));  
        vec.clear();  
        int ans=0;  
        cin>>M>>G;  
          
        for (int i=1;i<=M;i++)  
            cin>>grade[i];  
        for (int i=0;i<N;i++)  
        {  
            persons  p;  
            cin>>p.id>>p.total;  
            p.grade = 0;  
            for (int j=1;j<=p.total;j++)  
            {  
                int t;  
                cin>>t;  
                p.grade += grade[t];  
  
            }  
  
            if (p.grade >= G) ++ans;  
  
            vec.push_back(p);  
        }  
     sort(vec.begin(),vec.end(),compare);  
     cout<<ans<<endl;  
     for (int i=0;i<ans;++i)  
     {  
         cout<<vec[i].id<<" "<<vec[i].grade<<endl;  
  
     }  
  
  
  
  
    }  
  
  
  
  
    //system("pause");  
    return 0;  
}  

 

 

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)