#include<stdio.h> #include<stdlib.h> #define Maxsize 100001 struct basket{ int apple; int pear; }b[Maxsize]; int getMaxIndex(struct basket* b,int len) { if(len<=0) return -1; int index=1; for(int i=1;i<=len;i++) { if(b[i].apple>b[index].apple) { index=i; }else if(b[i].apple==b[index].apple) { if(b[i].pear>b[index].pear) { index=i; } } } b[index].apple=0; b[index].pear=0; return index; } int main() { int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) scanf("%d %d",&b[i].apple,&b[i].pear); for(int j=0;j<m;j++) { if(j==0) printf("%d",getMaxIndex(b,n)); else printf(" %d",getMaxIndex(b,n)); } printf("\n"); } return 0; } |
Double click to view unformatted code.