#include "stdio.h" struct data { int a; int b; int num; }; void main() { struct data s[10000],temp; int n,m; int i,j,k; int t; scanf("%d",&t); for(i=0;i<t;i++) { for(j=0;j<10000;j++) { s[j].a=0;s[j].b=0;s[j].num=0; } scanf("%d%d",&n,&m); for(j=0;j<n;j++) { scanf("%d%d",&s[j].a,&s[j].b); s[j].num=j; } for(j=0;j<n;j++) //排序a { for(k=0;k<n-j-1;k++) { if(s[k].a<s[k+1].a) { temp=s[k];s[k]=s[k+1];s[k+1]=temp; } } } for(j=0;j<n;j++) //排序b { for(k=0;k<n-j-1;k++) { if(s[k].a==s[k+1].a) { if(s[k].b<s[k+1].b) { temp=s[k];s[k]=s[k+1];s[k+1]=temp; } } } } for(j=0;j<m;j++) { if(j+1==m) printf("%d",s[j].num+1); else printf("%d ",s[j].num+1); } printf("\n"); } } |
Double click to view unformatted code.