#include<stdio.h> #include<string.h> #include <stdbool.h> int apple[10000],pear[10000]; bool cmp2(int a,int b) { return pear[a]>pear[b]; } int main(void) { int t; scanf("%d",&t); while(t--) { int m,n,sum=0,as[10000],ps[10000]; scanf("%d %d",&n,&m); for(int i=0;i<n;i++) { scanf("%d %d",&apple[i],&pear[i]); as[i]=i; ps[i]=i; } for(int i=0;i<n;i++) { for(int j=i+1;j<n;j++) { if(apple[as[i]]<apple[as[j]]) { int tmp=as[i]; as[i]=as[j]; as[j]=tmp; } } } for(int i=0;i<n;i++) { if(sum>0&&sum<m) printf(" "); else if(sum>=m){ printf("\n"); break; } if(apple[as[i]]>apple[as[i+1]]){ printf("%d",as[i]+1); sum++; continue; } else if(apple[as[i]==apple[as[i+1]]]){ if(pear[as[i]]>pear[as[i+1]]){ printf("%d",as[i]+1); sum++; continue; } else if(pear[as[i]]<pear[as[i+1]]) { int tmp; printf("%d",as[i+1]+1); tmp=as[i]; as[i]=as[i+1]; as[i+1]=tmp; sum++; continue; } else { if(as[i]>as[i+1]) { printf("%d",as[i+1]+1); sum++; continue; } else { int tmp; printf("%d",as[i]+1); tmp=as[i]; as[i]=as[i+1]; as[i+1]=tmp; sum++; continue; } } } } } } |
Double click to view unformatted code.