View Code of Problem 5

#include<stdio.h>
#include<stdlib.h>
typedef struct basket{
	int a;
	int b;
	int c;
};

int main()
{
	int t,n,m,i,j,temp;
	int *maxa;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d %d",&n,&m);
		struct basket a[n];
		for (i = 0;i < n;i++) 
		{
			scanf("%d %d",&a[i].a,&a[i].b);
			a[i].c = i;
		}
		for (i = 0;i < n-1;i++)
		{
			for (j = i+1;j < n;j++)
			{
				if (a[i].a < a[j].a)
				{
					temp = a[i].a;
					a[i].a = a[j].a;
					a[j].a = temp;
					temp = a[i].b;
					a[i].b = a[j].b;
					a[j].b = temp;
					temp = a[i].c;
					a[i].c = a[j].c;
					a[j].c = temp;
				}
				if (a[i].a == a[j].a && a[i].b < a[j].b)
				{
					temp = a[i].a;
					a[i].a = a[j].a;
					a[j].a = temp;
					temp = a[i].b;
					a[i].b = a[j].b;
					a[j].b = temp;
					temp = a[i].c;
					a[i].c = a[j].c;
					a[j].c = temp;
				}
			}
		}
		for (i = 0;i < m;i++)
		{
			if (a[i].a > a[i+1].a) printf("%d\n",a[i].c+1);
			else
			{
				if (a[i].b < a[i+1].b) printf("%d\n",a[i+1].c+1);
				else printf("%d\n",a[i].c+1);
			}
		}
		for (i = 0;i < n;i++)
		{
			a[i].a = 0;
			a[i].b = 0;
			a[i].c = 0;
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5