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

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條評論
主站蜘蛛池模板: 成人夜色香网站在线观看 | 亚洲精品不卡午夜精品 | 欧美xxxxbbbb在线播放 | 国产亚洲精品资源一区 | 亚洲播放| 国产91久久精品一区二区 | 亚洲天堂一区二区三区四区 | 天天看片夜夜爽 | 五月天丁香六月欧美综合 | 网红毛片 | 亚洲第3页 | 久久国产欧美日韩高清专区 | 中文字幕高清免费不卡视频 | 国产伦精品一区二区三区免费迷 | 国产一区曰韩二区欧美三区 | 日韩欧美高清在线 | 六月丁香深爱六月综合激情 | 国产一级免费视频 | 夜夜爽日日澡人人添 | 99热久久这里只精品国产9 | 精品老司机在线观看视频 | 中文字幕亚洲综合 | 伊人中文字幕 | 国产小姨子 | 奇米影视小说 | 欧美爱爱爱爱免费视频 | 日本不卡免费新一区二区三区 | 色综合天天综合网国产成人 | 日本特级黄毛片毛片视频 | 国内精品影院久久久久 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 亚洲国产精品一区二区久 | 国产成人aa视频在线观看 | 九九全国免费视频 | 一区二区在线播放福利视频 | 久久精品3 | 永久黄网站色视频免费观看 | 久久精品国内偷自一区 | 天天看片天天爽 | 日本中文在线三级在线播放 | 亚洲成在人线久久综合 |