Start: Jul, 10, 2019 08:30:00
2019年度暑期短学期达标测试补考
End: Jul, 10, 2019 11:30:00
Time elapsed:
Time remaining:

Problem_ID: H
Result: Accepted
Time: 4ms
Memory: 1120kB
Author: 2018212212231
In contest: 1284

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
struct wh{
    char name[25];
	int c;
};
int main(){
   int t;
   scanf("%d",&t);
   while(t--){
      int n,i,j,pass,k;
	  struct wh a[105];
	  int b[105]={0};
	  scanf("%d",&n);
	  for(i=0;i<n;i++){
	     scanf("%s %d",&a[i].name,&a[i].c);
		 b[i]=strlen(a[i].name);
	  }
	  for(pass=1;pass<n;++pass){
		  for(i=0;i<n-pass;++i){
			  if(a[i].c<a[i+1].c){
				  for(k=0;k<b[i];k++){
				     a[101].name[k]=a[i].name[k];
				  }
				  for(k=0;k<b[i+1];k++){
				     a[i].name[k]=a[i+1].name[k];
				  }
				  for(k=0;k<b[i];k++){
				     a[i+1].name[k]=a[101].name[k];
				  }
				  b[101]=b[i];
				  b[i]=b[i+1];
				  b[i+1]=b[101];
				  a[101].c=a[i].c;
				  a[i].c=a[i+1].c;
				  a[i+1].c=a[101].c;
			  }
		  }
	  }
	  for(i=0;i<n;i++){
		  for(j=0;j<b[i];j++){
	          printf("%c",a[i].name[j]);
		  }
		  printf("\n");
	  }
   }
}