#include <stdio.h> #include <stdlib.h> struct student { int num; int score; }; int main() { struct student students[200]; int n,i,j; struct student t; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d %d",&students[i].num,&students[i].score); } for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(students[j].score>students[j + 1].score) { t=students[j]; students[j]=students[j+1]; students[j+1]=t; } else if(students[j].score==students[j+1].score) { if(students[j].num>students[j+1].num) { t=students[j]; students[j]=students[j+1]; students[j+1]=t; } } } } for(i=0;i<n;i++) { printf("%d %d\n",students[i].num,students[i].score); } } return 0; } /************************************************************** Problem: 2212 User: admin Language: C Result: Accepted Time:14 ms Memory:1144 kb ****************************************************************/