若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

2378: Final Standing

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,265

题目描述

ACM 比赛都会产生一个最终排名,排名按照题数多少来决定。但是现在,有太多的队伍参与,手动计算排名已经不能满足比赛的需求。现在有一份名单记录各个队伍的ID 和做出的题目数,你能不能写一个程序,产生最终的排名。排名要求做出题目数量多的队伍排在前面,如果题数相等,保持输入时的相对顺序不要改变。

输入

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

输出

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

样例输入

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

样例输出

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

参考代码

#include<stdio.h>
int main() 
{
    int t;
    scanf("%d",&t);
    while(t--) 
    {
        int n,i,j;
        long long int id[10001],swap1;
        int m[10001],swap2;
        scanf("%d",&n);
        for (i=1;i<=n;i++) 
        {
            scanf("%lld%d",&id[i],&m[i]);
        }
        for (i=1;i<=n-1;i++) 
        {
            for (j=1;j<=n-i;j++) 
            {
                if(m[j]<m[j+1]) 
                {
                    swap2=m[j],m[j]=m[j+1],m[j+1]=swap2;
                    swap1=id[j],id[j]=id[j+1],id[j+1]=swap1;
                }
            }
        }
        for (i=1;i<=n;i++) 
        {
            printf("%lld %dn",id[i],m[i]);
        }
    }
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Dreams孤独患者 原站点 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist