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

PAT Ranking (排名)

系統(tǒng) 1830 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 (排名)


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧洲成人爽视频在线观看 | 毛片录像| 97久久综合精品久久久综合 | 精品一区二区三区视频在线观看 | 亚洲日本久久久午夜精品 | 国内精品美女久久久久 | 国产精品亚洲第五区在线 | 白云精品视频国产专区 | 天天躁狠狠躁夜躁2021 | 欧美黄色毛片 | 在线中文字幕观看 | 亚洲国产精品悠悠久久琪琪 | 欧美日韩综合 | 国产成人精品高清免费 | 四虎在线永久视频观看 | 欧美一级二级aaa免费视频 | 中国国产一国产一级毛片视频 | 亚洲综合在线另类色区奇米 | 国产精品福利社 | 国产精品久久久久这里只有精品 | 国产精品亚洲二线在线播放 | 国产精品一区二区久久精品 | 人成午夜欧美大片免费视频 | 亚洲午夜综合网 | 日本一区二区三区在线 观看网站 | 九九这里只精品视在线99 | 日日操日日摸 | 九九色影院 | 色综合久久久高清综合久久久 | 亚洲精品区一区二区三区四 | 色狗综合 | 夜夜爽夜夜叫夜夜高潮漏水 | 欧美国产在线观看 | 亚洲国产精品久久久久婷婷老年 | 日韩有码在线视频 | 国产成人综合高清在线观看 | 一本岛高清v不卡免费一三区 | 亚洲精品乱码一区二区在线观看 | 久久久久久久99精品免费 | 手机在线国产精品 | 久久艹伊人 |