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

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條評論
主站蜘蛛池模板: 一级毛片卡 | 亚洲美女激情视频 | 亚洲国产精品免费在线观看 | 三级五月天 | 日韩特级毛片 | 夜色91| 国产一级特黄特色aa毛片 | 国产综合欧美日韩视频一区 | 911免费视频 | 真人一级一级特黄高清毛片 | 伊人成人在线视频 | 国产色婷婷精品综合在线手机播放 | 高清国产美女在线观看 | 青草小视频 | 中文精品久久久久国产网站 | 波多野结衣一区在线观看 | 在线观看中文字幕第一页 | 毛片福利 | 国产精品视频一区二区猎奇 | 欧美一区2区三区3区公司 | 岛国三级视频 | 欧美大片a一级毛片视频 | 奇米第一色| 在线观看国产视频 | 精品国产91 | 国模极品一区二区三区 | 日韩亚洲欧美一区 | 天天干天天色天天干 | 男人的午夜| 亚洲男人天堂久久 | 天天摸夜夜摸爽爽狠狠婷婷97 | 国产福利一区二区三区在线视频 | 四虎最新网址 | 欧洲亚洲视频 | 成人毛片网 | 久久久久久久久久福利 | 精品午夜国产在线观看不卡 | 伊人情人综合成人久久网小说 | 91国内视频 | 日本人一级毛片免费完整视频 | 久久天天丁香婷婷中文字幕 |