View Code of Problem 5

#include<stdio.h>
#define LEN 10000
int main()
{
    int t, n, m;
    int a[LEN], b[LEN], c[LEN];
    int i, j, k;
    int aa, bb, cc;

    scanf ("%d",&t);
    for (i=0; i<t; i++)
    {
        scanf("%d%d", &n, &m);
        for (j=0; j<n; j++)
        {
            scanf("%d%d", &a[j], &b[j]);
            c[j] = j+1;
        }

        for (j=0; j<(n-1); j++)
            for (k=n-1; k>j; k--)
        {
            if (a[k] > a[k-1])
            {
                aa = a[k];
                a[k] = a[k-1];
                a[k-1] = aa;
                bb = b[k];
                b[k] = b[k-1];
                b[k-1] = bb;
                cc = c[k];
                c[k] = c[k-1];
                c[k-1] = cc;
            }
            else
                if ( (a[k]==a[k-1]) && (b[k]>b[k-1]) )
            {
                aa = a[k];
                a[k] = a[k-1];
                a[k-1] = aa;
                bb = b[k];
                b[k] = b[k-1];
                b[k-1] = bb;
                cc = c[k];
                c[k] = c[k-1];
                c[k-1] = cc;
            }
        }

        printf("%d", c[0]);
        for (j=1; j<m; j++)
            printf(" %d", c[j]);
        printf("\n");
    }
    return (0);
}

Double click to view unformatted code.


Back to problem 5