View Code of Problem 5

#include <stdio.h>	
struct fruit
	{
		int apple;
		int pear;
		int num;
	};
int main()
{
    struct fruit a[10000], temp;
	int t;
	scanf("%d", &t);
	while (t--)
	{
		int n, m, i, j, o;
		scanf("%d %d", &n, &m);
		for (i = 0;i < n; i++)
		{
			scanf("%d%d", &a[i].apple, &a[i].pear);
			a[i].num = i;
		}
		for (i = 0; i < n - 1; i++)
		{
			o = i;
			for (j = i; j < n; j++)
			{
				if (a[o].apple < a[j].apple)
					o = j;
				else if (a[o].apple == a[j].apple&&a[o].pear <a[j].pear)
					o = j;
			}
			if (o != i)
			{
				temp = a[o];
				a[o] = a[i];
				a[o] = temp;
			}
		}
		for (i = 0; i < m - 1; i++)
			printf("%d ", a[i].num + 1);
		printf("%d\n", a[m - 1].num + 1);
	}
}

Double click to view unformatted code.


Back to problem 5