zoukankan      html  css  js  c++  java
  • 最终排名

    最终排名

    Time Limit: 1000 ms Memory Limit: 65536 KiB

    Problem Description

    第四届山东理工大学ACM网络编程擂台赛比赛完后需要产生一个最终排名,排名按照题数多少来决定。但是有太多的队伍参与,手动计算排名已经不能满足比赛的需求。现在有一份名单记录各个队伍的ID和做出的题目数,需要你写一个程序,产生最终的排名。
    为了简化题目,这里的排名规则为:做出题目数量多的队伍排在前面,如果题数相等,保持输入时的相对顺序不要改变。

    Input

    第一行包含一个正整数T( 1 ≤ T ≤ 15),表示有T组测试数据。每组数据第一行有一个正整数N(1 <  N ≤ 10000),表示队伍数量。接下来N 行包含两个整数,1 ≤ ID ≤ 10^7, 0 ≤ M ≤ 100。ID为队伍的编号,M为做出的题数。

    Output

    每组数据输出包含N行,第i行有两个整数,ID和M表示排在第i位的队伍的ID和做出的题数。

    Sample Input

    1
    8
    1 2
    16 3
    11 2
    20 3
    3 5
    26 4
    7 1
    22 4
    

    Sample Output

    3 5
    26 4
    22 4
    16 3
    20 3
    1 2
    11 2
    7 1

    Hint

     

    Source

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 struct team
     4 {
     5     long int id;
     6     int m;
     7 }f[10001],g;
     8 int main()
     9 {
    10  int t ;
    11  scanf("%d",&t);
    12  while(t--)
    13  {
    14      int n,i,j;
    15      scanf("%d",&n);
    16      for (i=0;i<n;i++)
    17      {
    18          scanf("%ld %d",&f[i].id,&f[i].m);
    19      }
    20      for(i=0;i<n;i++)
    21      {
    22          for(j=0;j<n-i-1;j++)
    23          {
    24              if(f[j].m<f[j+1].m)
    25              {
    26                  g=f[j];
    27                  f[j]=f[j+1];
    28                  f[j+1]=g;
    29              }
    30          }
    31      }
    32      for(i=0;i<n;i++)
    33      {
    34          printf("%ld %d
    ",f[i].id,f[i].m);
    35      }
    36  }
    37     return 0;
    38 }
  • 相关阅读:
    LC 774. Minimize Max Distance to Gas Station 【lock,hard】
    LC 272. Closest Binary Search Tree Value II 【lock,hard】
    LC 644. Maximum Average Subarray II 【lock,hard】
    Java --- JSP2新特性
    Java ---Listener监听器
    Java ---Filter过滤器
    Java ---自定义标签(二)
    Java ---自定义标签
    Java ---理解MVC架构
    Java--JDBC连接数据库(二)
  • 原文地址:https://www.cnblogs.com/xiaolitongxueyaoshangjin/p/12052444.html
Copyright © 2011-2022 走看看