#include<stdio.h> struct lan { int apple; int pear; int num; }lanzi[100001]; void swap(struct lan *a, struct lan *b) { struct lan temp; temp = *a; *a = *b; *b = temp; } void sort(struct lan lanzi[], int n) { int i, j; for (i = 0;i < n - 1;i++) { for (j = 0; j < n - 1 - i; j++) { if (lanzi[j].pear < lanzi[j + 1].pear) { swap(&lanzi[j], &lanzi[j + 1]); } } } for (i = 0;i < n - 1;i++) { for (j = 0; j < n - 1 - i; j++) { if (lanzi[j].apple < lanzi[j + 1].apple) { swap(&lanzi[j], &lanzi[j + 1]); } } } } int main() { long t, n, m; scanf("%ld", &t); for (int i = 0;i < t;i++) { scanf("%ld%ld", &n, &m); for (int j = 0;j < n;j++) { scanf("%d%d", &lanzi[j].apple, &lanzi[j].pear); lanzi[j].num = j+1; } sort(lanzi, n); for (int k = 0;k < m-1;k++) { printf("%d ", lanzi[k].num); } printf("%d", lanzi[m - 1].num); printf("\n"); } } |
Double click to view unformatted code.