fork download
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. struct data{
  5. char name[150];
  6. int score;
  7. };
  8.  
  9. void swap(int *a,int *b){
  10. int temp;
  11. temp=*a;
  12. *a=*b;
  13. *b=temp;
  14. }
  15.  
  16. void nameswap(char str1[], char str2[]){
  17. char temp[100];
  18. strcpy(temp, str1);
  19. strcpy(str1, str2);
  20. strcpy(str2, temp);
  21. }
  22.  
  23. void bubble(struct data x[],int n){
  24. for(int i=0;i<n-1;i++){
  25. for(int j=0;j<n-1-i;j++){
  26. if(x[j].score<x[j+1].score){
  27. swap(&x[j].score,&x[j+1].score);
  28. nameswap(x[j].name,x[j+1].name);
  29. }
  30. else if(x[j].score==x[j+1].score &&strcmp(x[j].name,x[j+1].name)>0){
  31. swap(&x[j].score,&x[j+1].score);
  32. nameswap(x[j].name,x[j+1].name);
  33. }
  34. }
  35. }
  36. }
  37.  
  38. int main(){
  39. struct data x[1000];
  40. int n,t;
  41. char kata[100];
  42. scanf("%d",&t);
  43. for(int i=0;i<t;i++){
  44. scanf("%d",&n);
  45. for(int j=0;j<n;j++){
  46. scanf("%[^#]#%d",x[j].name,&x[j].score);
  47. }
  48. scanf("%s",kata);
  49. bubble(x,n);
  50. for(int k=0;k<n;k++){
  51. if(strcmp(kata,x[k].name)==0){
  52. printf("Case #%d: %d\n",i+1,k+1);
  53. break;
  54. }
  55. }
  56. }
  57. return 0;
  58. }
Success #stdin #stdout 0s 5472KB
stdin
2
3
Jojo#40
Lili#80
Bibi#90
Lili
3
Jojo#100
Lili#80
Bibi#90
Lili
stdout
Case #1: 2
Case #2: 3