#include<stdio.h> int main() { int t,n,m[10],i,j,k; int a[100000],b[100000],max[10][100000],flag[100000]; scanf("%d",&t); for ( i = 0; i < t; i++) //²âÊÔ´ÎÊý { scanf("%d%d",&n,&m[i]); for ( j = 0; j < n; j++) scanf("%d%d",&a[j],&b[j]); for ( k = 0; k < n; k++) //×¼±¸¿ªÊ¼Ñ¡ÔñÀº×Ó flag[k] = 0; for ( j = 0; j < m[i]; j++) //Ñ¡ÔñÀº×ÓÊý { for ( k = 0, max[i][j] = 0; k < n; k++) //Ñ¡Ôñ×î´óa if ( a[max[i][j]] < a[k] && flag[k] == 0 ) { flag[max[i][j]] = 0; max[i][j] = k; flag[k] = 1; } else if ( a[max[i][j]] == a[k] && flag[k] == 0 ) { if ( b[max[i][j]] < b[k] ) { flag[max[i][j]] = 0; max[i][j] = k; flag[k] = 1; } } } } for ( i = 0; i < t; i++) { for ( j = 0; j < m[i]; j++) printf("%d ",max[i][j]+1); printf("\n"); } return 0; } |
Double click to view unformatted code.