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

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條評論
主站蜘蛛池模板: 视频福利在线 | 97在线播放视频 | 色拍拍欧美视频在线看 | 色综合激情网 | 日韩中文字幕久久精品 | 国内精品久久久久尤物 | 国产精品亚洲综合色拍 | 久久高清精品 | 日本1区2区 | 九九热视频在线观看 | 狠狠色婷婷丁香六月 | 狠狠色伊人亚洲综合第8页 狠狠色综合久久丁香婷婷 狠狠色综合久久婷婷 | 婷婷在线观看网站 | 九九网| 日日摸日日碰日日狠狠 | 久久久国产精品网站 | 日本久久精品视频 | 日日干夜夜操s8 | 免费国产成人高清在线观看视频 | 四虎成人免费观看在线网址 | 2020久久精品永久免费 | 另类重口性色老妇 | 国产欧美精品综合一区 | 狠狠色噜噜狠狠狠狠网站视频 | 成人短视频在线观看视频 | 四虎四虎1515whh | 天天草天天操 | 亚洲欧美国产视频 | 深夜福利视频网址 | 奇米影视狠狠狠天天777 | 天天干天天拍天天射天天添天天爱 | 久久久香蕉视频 | 国产欧美日韩精品第三区 | 五月天婷婷缴情五月免费观看 | 免费看又爽又黄禁片视频1000 | 国产一区二区三区精品久久呦 | 99九九精品视频 | 青青草久热精品视频在线观看 | 亚洲专区中文字幕 | 伊人久久在线视频 | 伊人久久精品线影院 |