#include<stdio.h> struct fruit{ int mark; int apple; int pear; }fruits[10000]; int InsertSort(struct fruit fruits[],int n){ struct fruit temp; int i,j; for( i=1;i<n;i++){ if(fruits[i].pear>fruits[i-1].pear){ temp = fruits[i]; for( j=i-1;temp.pear>fruits[j] .pear&& j>=0;j--){ fruits[j+1]=fruits[j]; } fruits[j+1]=temp; } } for( i=1;i<n;i++){ if(fruits[i].apple>fruits[i-1].apple){ temp = fruits[i]; for( j=i-1;temp.apple>fruits[j].apple && j>=0 ;j--){ fruits[j+1]=fruits[j]; } fruits[j+1]=temp; } } return 0; } int main(){ int i,j,n,t,m; scanf("%d",&t); while(t){ scanf("%d%d",&n,&m); for(i = 0;i < n;i++){ scanf("%d %d",&fruits[i].apple,&fruits[i].pear); fruits[i].mark=i+1; } InsertSort(fruits,n); for(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.