#include <stdio.h> #include <stdlib.h> #include<ctype.h> #include<string.h> #include<math.h> #include<stdbool.h> int main() { int t, n, m, i, j, k; int max; int a[10000][2] = { 0 }; int b[10000] = { 0 }; scanf("%d", &t); while (t--) { scanf("%d%d", &n, &m); for (i = 0; i < n; i++) { scanf("%d%d", &a[i][0], &a[i][1]); } max = 0; k = 0; for (i = 0; i < n; i++) { if (a[max][0] < a[i][0]) { max = i; b[k++] = max + 1; } else if (a[max][0] == a[i][0]) { if (a[max][1] < a[i][1]) max = i; b[k++] = max + 1; } } k--; while (m--) { printf("%d", b[k--]); if (m > 0) printf(" "); } printf("\n"); } return 0; } |
Double click to view unformatted code.