#include <cstdio> #include <cstdlib> #include <iostream> #include <algorithm> #define LL int using namespace std; typedef struct Node{ int a; int b; int id; bool operator < (const Node &x)const{ return a>x.a; } }FF; FF array[100005]; int t; int n,m; int key,temp_a,temp_b,temp_id; int main(void){ cin>>t; while(t--){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>array[i].a>>array[i].b; array[i].id=i; } sort(array+1,array+n+1); for(int i=0;i<m;i++){ int key=1; while(array[key].id==0) key++; temp_a=array[key].a; temp_b=array[key].b; temp_id=array[key].id; for(int j=1;j<=n;j++){ if(array[j].a<temp_a) break; if(array[j].id !=0){ if(array[j].b>temp_b){ temp_id=array[j].id; temp_b=array[j].b; } if((array[j].b==temp_b)&&(array[j].id<temp_id)) temp_id=array[j].id; } } printf("%d",temp_id); if(i!=(m-1)) printf(" "); for(int i=0;i<n;i++) if(array[i].id==temp_id){ array[i].id=0; break; } } printf("\n"); } return 0; } |
Double click to view unformatted code.