亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

PAT Ranking (排名)

系統 1605 0

PAT Ranking (排名)

?

?

Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhejiang University. Each test is supposed to run simultaneously in several places, and the ranklists will be merged immediately after the test. Now it is your job to write a program to correctly merge all the ranklists and generate the final rank.

?

?Input Specification:

?

Each input file contains one test case. For each case, the first line contains a positive number N (<=100), the number of test locations. Then N ranklists follow, each starts with a line containing a positive integer K (<=300), the number of testees, and then K lines containing the registration number (a 13-digit number) and the total score of each testee. All the numbers in a line are separated by a space.

?

?Output Specification:

?

For each test case, first print in one line the total number of testees. Then print the final ranklist in the following format:

?

registration_number final_rank location_number local_rank

?

The locations are numbered from 1 to N. The output must be sorted in nondecreasing order of the final ranks. The testees with the same score must have the same rank, and the output must be sorted in nondecreasing order of their registration numbers.

Sample Input:

2

5

1234567890001 95

1234567890005 100

1234567890003 95

1234567890002 77

1234567890004 85

4

1234567890013 65

1234567890011 25

1234567890014 100

1234567890012 85

?Sample Output:

9

1234567890005 1 1 1

1234567890014 1 2 1

1234567890001 3 1 2

1234567890003 3 1 2

1234567890004 5 1 4

1234567890012 5 2 2

1234567890002 7 1 5

1234567890013 8 2 3

1234567890011 9 2 4

?

?

先分組排名,再全部排名

?

        
            1
        
         #include <iostream>


        
            2
        
        
            3
        
         #include <
        
          string
        
        >


        
            4
        
        
            5
        
         #include <algorithm>


        
            6
        
        
            7
        
         #include <vector>


        
            8
        
        
            9
        
        
          using
        
        
          namespace
        
        
           std;


        
        
           10
        
        
           11
        
        
           12
        
        
           13
        
        
          struct
        
        
           stu


        
        
           14
        
        
           15
        
        
          {


        
        
           16
        
        
           17
        
        
          int
        
        
           loc,frank,lrank,gra;


        
        
           18
        
        
           19
        
        
          string
        
        
           name;


        
        
           20
        
        
           21
        
        
          };


        
        
           22
        
        
           23
        
        
           24
        
        
           25
        
        
           26
        
        
           27
        
        
          bool
        
        
           cmp(stu s1,stu s2)


        
        
           28
        
        
           29
        
        
          {


        
        
           30
        
        
           31
        
        
          if
        
        (s1.frank==
        
          s2.frank)


        
        
           32
        
        
           33
        
        
          return
        
         s1.name<
        
          s2.name;


        
        
           34
        
        
           35
        
        
           36
        
        
           37
        
        
          return
        
         s1.frank<
        
          s2.frank;


        
        
           38
        
        
           39
        
        
          }


        
        
           40
        
        
           41
        
        
           42
        
        
           43
        
        
          bool
        
        
           cmpg(stu s1,stu s2)


        
        
           44
        
        
           45
        
        
          {


        
        
           46
        
        
           47
        
        
           48
        
        
           49
        
        
          return
        
         s1.gra>
        
          s2.gra;


        
        
           50
        
        
           51
        
        
          }


        
        
           52
        
        
           53
        
        
           54
        
        
           55
        
        
          int
        
        
           main()


        
        
           56
        
        
           57
        
        
          {


        
        
           58
        
        
           59
        
        
           60
        
        
           61
        
        
          int
        
         n;
        
          int
        
         k;
        
          int
        
        
           rank,count;


        
        
           62
        
        
           63
        
        
          int
        
        
           i,j;


        
        
           64
        
        
           65
        
        
          while
        
        (cin>>
        
          n)


        
        
           66
        
        
           67
        
        
            {


        
        
           68
        
        
           69
        
               vector<stu>
        
           total;


        
        
           70
        
        
           71
        
        
          for
        
        (i=
        
          1
        
        ;i<=n;i++
        
          )


        
        
           72
        
        
           73
        
        
               {


        
        
           74
        
        
           75
        
                  cin>>
        
          k;


        
        
           76
        
        
           77
        
                     vector<stu>
        
           s(k);


        
        
           78
        
        
           79
        
        
          for
        
        (j=
        
          0
        
        ;j<k;j++
        
          )


        
        
           80
        
        
           81
        
        
                      {


        
        
           82
        
        
           83
        
                        cin>>s[j].name>>
        
          s[j].gra;


        
        
           84
        
        
           85
        
                        s[j].loc=
        
          i;


        
        
           86
        
        
           87
        
        
                      }


        
        
           88
        
        
           89
        
        
                      sort(s.begin(),s.end(),cmpg);


        
        
           90
        
        
           91
        
                     count=
        
          1
        
        
          ;


        
        
           92
        
        
           93
        
                     s[
        
          0
        
        ].lrank=
        
          1
        
        
          ;


        
        
           94
        
        
           95
        
                     total.push_back(s[
        
          0
        
        
          ]);


        
        
           96
        
        
           97
        
        
          for
        
        (j=
        
          0
        
        ;j<k-
        
          1
        
        ;j++
        
          )


        
        
           98
        
        
           99
        
        
                      {


        
        
          100
        
        
          101
        
        
          if
        
        (s[j].gra==s[j+
        
          1
        
        
          ].gra)


        
        
          102
        
        
          103
        
        
                            {


        
        
          104
        
        
          105
        
                                 s[j+
        
          1
        
        ].lrank=
        
          s[j].lrank;


        
        
          106
        
        
          107
        
                                 count++
        
          ;


        
        
          108
        
        
          109
        
        
                            }


        
        
          110
        
        
          111
        
        
          else
        
        
          112
        
        
          113
        
        
                            {


        
        
          114
        
        
          115
        
                               s[j+
        
          1
        
        ].lrank=s[j].lrank+
        
          count;


        
        
          116
        
        
          117
        
                                 count=
        
          1
        
        
          ;


        
        
          118
        
        
          119
        
        
                            }


        
        
          120
        
        
          121
        
                           total.push_back(s[j+
        
          1
        
        
          ]);


        
        
          122
        
        
          123
        
        
                      }


        
        
          124
        
        
          125
        
        
               }


        
        
          126
        
        
          127
        
        
          128
        
        
          129
        
        
                    sort(total.begin(),total.end(),cmpg);


        
        
          130
        
        
          131
        
                   count=
        
          1
        
        
          ;


        
        
          132
        
        
          133
        
                     total[
        
          0
        
        ].frank=
        
          1
        
        
          ;


        
        
          134
        
        
          135
        
        
          for
        
        (j=
        
          0
        
        ;j<total.size()-
        
          1
        
        ;j++
        
          )


        
        
          136
        
        
          137
        
        
                      {


        
        
          138
        
        
          139
        
        
          if
        
        (total[j].gra==total[j+
        
          1
        
        
          ].gra)


        
        
          140
        
        
          141
        
        
                            {


        
        
          142
        
        
          143
        
                                 total[j+
        
          1
        
        ].frank=
        
          total[j].frank;


        
        
          144
        
        
          145
        
                                 count++
        
          ;


        
        
          146
        
        
          147
        
        
                            }


        
        
          148
        
        
          149
        
        
          else
        
        
          150
        
        
          151
        
        
                            {


        
        
          152
        
        
          153
        
                               total[j+
        
          1
        
        ].frank=total[j].frank+
        
          count;


        
        
          154
        
        
          155
        
                                 count=
        
          1
        
        
          ;


        
        
          156
        
        
          157
        
        
                            }


        
        
          158
        
        
          159
        
        
                      }


        
        
          160
        
        
          161
        
        
          162
        
        
          163
        
        
                      sort(total.begin(),total.end(),cmp);


        
        
          164
        
        
          165
        
                     cout<<total.size()<<
        
          endl;


        
        
          166
        
        
          167
        
        
          for
        
        (i=
        
          0
        
        ;i<total.size();i++
        
          )


        
        
          168
        
        
          169
        
                           cout<<total[i].name<<
        
          "
        
        
          "
        
        <<total[i].frank<<
        
          "
        
        
          "
        
        <<total[i].loc<<
        
          "
        
        
          "
        
        <<total[i].lrank<<
        
          endl;


        
        
          170
        
        
          171
        
        
          172
        
        
          173
        
        
            }


        
        
          174
        
        
          175
        
        
          return
        
        
          0
        
        
          ;


        
        
          176
        
        
          177
        
        
          }


        
        
          178
        
        
          179
        
      
View Code

?

PAT Ranking (排名)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲狠狠婷婷综合久久久图片 | 国产美女拍拍拍在线观看 | 最新亚洲精品国自产在线 | 欧美日韩亚洲一区二区三区 | 日日干天天插 | 久久好色| 天天干国产 | 午夜精品在线视频 | 日韩高清中文字幕 | 一区二区精品视频 | 99爱视频免费高清在线观看 | 亚洲精品香蕉一区二区在线观看 | 国产在线91 | 国产精品亚洲高清一区二区 | 91国视频在线 | 国产免费一区二区 | 免费爱爱 | 国产日韩三级 | 成人欧美精品一区二区不卡 | 国产v欧美v日本v精品 | 成人在线视频网 | 私人小影院在线 观看 | 在线观看欧洲成人免费视频 | 五月激激激综合网色播免费 | 久久国产精品免费看 | 亚洲欧美中文字幕在线网站 | 五月激情综合 | 俄罗斯一级毛片免费播放 | 91精品成人福利在线播放 | 亚洲第一毛片 | 亚洲精品国产成人99久久 | 性视频久久 | 久久久国产这里有的是精品 | 久久草精品 | 国内视频自拍在线视频 | 天天干天天曰 | 成年女人毛片免费观看中文w | 国产福利视频一区二区三区 | 在线黄色影院 | 男人午夜免费视频 | 逆天至尊免费看229集 |