zoukankan      html  css  js  c++  java
  • pat1083. List Grades (25)

    1083. List Grades (25)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    16000 B
    判题程序
    Standard
    作者
    CHEN, Yue

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with respect to the grade in non-increasing order, and output those student records of which the grades are in a given interval.

    Input Specification:

    Each input file contains one test case. Each case is given in the following format:

    N
    name[1] ID[1] grade[1]
    name[2] ID[2] grade[2]
    ... ...
    name[N] ID[N] grade[N]
    grade1 grade2
    

    where name[i] and ID[i] are strings of no more than 10 characters with no space, grade[i] is an integer in [0, 100], grade1 and grade2 are the boundaries of the grade's interval. It is guaranteed that all the grades are distinct.

    Output Specification:

    For each test case you should output the student records of which the grades are in the given interval [grade1, grade2] and are in non-increasing order. Each student record occupies a line with the student's name and ID, separated by one space. If there is no student's grade in that interval, output "NONE" instead.

    Sample Input 1:
    4
    Tom CS000001 59
    Joe Math990112 89
    Mike CS991301 100
    Mary EE990830 95
    60 100
    
    Sample Output 1:
    Mike CS991301
    Mary EE990830
    Joe Math990112
    
    Sample Input 2:
    2
    Jean AA980920 60
    Ann CS01 80
    90 95
    
    Sample Output 2:
    NONE
    

    提交代码

     1 #include<cstdio>
     2 #include<stack>
     3 #include<algorithm>
     4 #include<iostream>
     5 #include<stack>
     6 #include<set>
     7 #include<map>
     8 using namespace std;
     9 map<int,pair<string,string> > ha;//成绩-姓名-id
    10 int main(){
    11     //freopen("D:\INPUT.txt","r",stdin);
    12     int n;
    13     scanf("%d",&n);
    14     int i,g1,g2;
    15     string name,id;
    16     int grade;
    17     for(i=0;i<n;i++){
    18         cin>>name>>id;
    19         scanf("%d",&grade);
    20         ha[grade]=make_pair(name,id);
    21     }
    22     int temp;
    23     scanf("%d %d",&g1,&g2);
    24     if(g1>g2){
    25         temp=g1;
    26         g1=g2;
    27         g2=temp;
    28     }
    29     temp=0;
    30     map<int,pair<string,string> >::reverse_iterator it;
    31     for(it=ha.rbegin();it!=ha.rend();it++){
    32         if(it->first>=g1&&it->first<=g2){
    33             cout<<(it->second).first<<" "<<(it->second).second<<endl;
    34             temp++;
    35         }
    36     }
    37     if(!temp){
    38         printf("NONE
    ");
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    散列
    Studio 3T破解方式
    springboot整合elasticsearch时的版本问题:
    ElasticSearch6.4.1 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
    IP地址查询API
    拉姆达表达式 追加 条件判断 Expression<Func<T, bool>>
    类 映射 遍历大全
    jquery load(URL,FUNCTION(){}) 异步加载页面
    LINQ to Entities 不识别方法的解决方案
    当实体类属性超多时候 映射给实体类属性赋值(拉姆达+实体类映射)
  • 原文地址:https://www.cnblogs.com/Deribs4/p/4783987.html
Copyright © 2011-2022 走看看