#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> using namespace std; typedef struct lan { int apple; int pear; int num; } lan; bool cmp(lan a,lan b) { if(a.apple>b.apple) { return true; } else if(a.apple<b.apple) { return false; } else { if(a.pear>b.pear) { return true; } else if(a.pear<b.pear) { return false; } else { return a.num>b.num; } } } int main() { int t; int i,j; scanf("%d",&t); while(t--) { int n,m; lan l[100001]; scanf("%d %d",&n,&m); for(i=0; i<n; i++) { scanf("%d %d",&l[i].apple,&l[i].pear); l[i].num=i; } sort(l,l+n,cmp); for(i=0; i<m; i++) { if(i==0) { printf("%d",l[i].num+1); } else { printf(" %d",l[i].num+1); } } printf("\n"); } } |
Double click to view unformatted code.