View Code of Problem 5

#include<stdio.h>
int main()
{
	int t;
	int i,j,k,n,m,blank;
	int a[10000][2],r[10000];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&m);
		for(k=1;k<=n;k++)
		{
			r[k]=k;
			scanf("%d%d",&a[k][0],&a[k][1]);
		}
		for(k=0;k<n;k++)
		{
			for(i=1;i<n;i++)
			{
				if(a[i][0]<a[i+1][0])
				{
					blank=a[i][0];
					a[i][0]=a[i+1][0];
					a[i+1][0]=blank;
					blank=a[i][1];
					a[i][1]=a[i+1][1];
					a[i+1][1]=blank;
					blank=r[i];
					r[i]=r[i+1];
					r[i+1]=blank;
				}
				else if(a[i][0]==a[i+1][0]&&a[i][1]<a[i+1][1])
				{
					blank=a[i][0];
					a[i][0]=a[i+1][0];
					a[i+1][0]=blank;
					blank=a[i][1];
					a[i][1]=a[i+1][1];
					a[i+1][1]=blank;
					blank=r[i];
					r[i]=r[i+1];
					r[i+1]=blank;
				}
			}
		}
		if(m==1)
			printf("%d\n",r[1]);
		else
		{
			for(i=1;i<m;i++)
				printf("%d ",r[i]);
			printf("%d\n",r[m]);
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 5