Result: Accepted
Time: 5ms
Memory: 1124kB
#include<stdio.h>
struct Nickname{
char name[22];
int num;}
a[110];
void exchange(struct Nickname*x,struct Nickname*y){
struct Nickname z;
z=*x;*x=*y;
*y=z;
}
int main(){
int t,n,i,j;
void exchange(struct Nickname*x,struct Nickname*y);
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d",a[i].name,&a[i].num);}
for(j=0;j<n-1;j++){
for(i=0;i<n-1-j;i++){
if(a[i].num<a[i+1].num){
exchange(&a[i],&a[i+1]);}}}
for(i=0;i<n;i++){
printf("%s\n",a[i].name);}}
return 0;}