#include<stdio.h> struct fruit{ int mark; int apple; int pear; }; struct fruit fruits[100000]; void InsertSort(int n){ struct fruit temp; int i,j; for(i=0;i<n-1;i++){ for(int j=n-1;j>i;j--){ if(fruits[j].apple > fruits[j-1].apple){ temp = fruits[j]; fruits[j]=fruits[j-1]; fruits[j-1]=temp; } else if(fruits[j].apple == fruits[j-1].apple){ if(fruits[j].pear>fruits[j-1].pear){ temp = fruits[j]; fruits[j]=fruits[j-1]; fruits[j-1]=temp; } } } } } int main(){ int t,m,n; scanf("%d",&t); while(t){ scanf("%d %d",&n,&m); for(int i = 0;i <n;i++){ scanf("%d %d",&fruits[i].apple,&fruits[i].pear); fruits[i].mark=i+1; } InsertSort(n); for(int j=0;j<m;j++){ if(j==m-1){ printf("%d\n",fruits[j].mark); } else{ printf("%d ",fruits[j].mark); } } t--; } return 0; } |
Double click to view unformatted code.