Problem Description
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和做出的题数。
Example Input
181 216 311 220 33 526 47 122 4
Example Output
3 526 422 416 320 31 211 27 1
#include<stdio.h>
#include<stdlib.h>
struct
{
int id;
int m;
}t,team[10010];
int main()
{
int T,n,i,j,k;
scanf("%d",&T);
for(i=0;i<T;i++)
{
scanf("%d",&n);
for(j=1;j<=n;j++)
{
scanf("%d %d",&team[j].id,&team[j].m);
}
for(j=1;j<=n-1;j++)
{
for(k=1;k<=n-j;k++)
{
if(team[k].m<team[k+1].m)
{
t=team[k];team[k]=team[k+1];team[k+1]=t;
}
}
}
for(j=1;j<=n;j++)
printf("%d %d\n",team[j].id,team[j].m);
}
return 0;
}