#include<stdio.h> #include<stdlib.h> typedef struct{ int a; int b; int num; }l; int main(){ int cmp(const void *a,const void *b); int k; scanf("%d",&k); while(k-->0){ int m,n; scanf("%d %d",&n,&m); l c[n]; for(int i=0;i<n;i++){ scanf("%d %d",&c[i].a,&c[i].b); c[i].num=i+1; } qsort(c,n,sizeof(l),cmp); for(int i=0;i<m-1;i++){ printf("%d ",c[i].num); } printf("%d\n",c[m-1].num); } } int cmp(const void *a,const void *b){ l *pa=(l *)a; l *pb=(l *)b; if(pa->a==pb->a&&pa->b==pb->b) return pa->num-pb->num; if(pa->a==pb->a) return pb->b-pa->b; return pb->a-pa->a; } |
Double click to view unformatted code.