Result: Accepted
Time: 3ms
Memory: 1120kB
#include<stdio.h>
#include<string.h>
struct ss{
char name[21];
int rank;
};
int main(){
int p,i,j,T;
int a;
struct ss arry[101];
scanf("%d",&p);
char name_p[21];
while(p--){
scanf("%d",&T);
for(i=0;i<T;i++){
scanf("%s %d",&arry[i].name[0],&arry[i].rank);
}
for(i=0;i<T;i++){
for(j=0;j<T-i-1;j++){
if(arry[j].rank<arry[j+1].rank){
a= arry[j].rank;
arry[j].rank = arry[j+1].rank;
arry[j+1].rank = a;
strcpy(name_p,arry[j].name);
strcpy(arry[j].name,arry[j+1].name);
strcpy(arry[j+1].name,name_p);
}
}
}
for(i=0;i<T;i++){
printf("%s\n",arry[i].name);
}
}
return 0;
}