#include<stdio.h> #include<stdlib.h> typedef struct{ int apple; int pear; int w;//位置 }data; int cmp(const void *a,const void *b){ return (*(data*)b).apple-(*(data*)a).apple; } int cmp2(const void *a,const void *b){ return (*(data*)b).pear-(*(data*)a).pear; } data x[150000]; int main(){ int t,n,m,i; scanf("%d",&t); while(t>0){ scanf("%d %d",&n,&m); for(i=0;i<n;i++){ scanf("%d %d",&x[i].apple,&x[i].pear); x[i].w=i+1; } qsort(x,n,sizeof(data),cmp2); qsort(x,n,sizeof(data),cmp); for(i=0;i<m-1;i++) printf("%d ",x[i].w); printf("%d\n",x[i].w); t--; } } |
Double click to view unformatted code.