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