View Code of Problem 5

#include "stdio.h"
struct shuchu
{
	int s[100];
};

void main()
{
	struct shuchu x[100];
	int k;
	int g;
	int t;
	int i,j;
	int m[100],n[100];
	int a[100],b[100];
	int a1[100],b1[100];

	scanf("%d",&t);
	for(i=0;i<t;i++)
	{
		scanf("%d%d",&m[i],&n[i]);
		for(j=0;j<m[i];j++)
		{
			scanf("%d%d",&a[j],&b[j]);
			a1[j]=a[j];b1[j]=b[j];
		}
		
		for(g=0;g<m[i];g++)										//按照a[]大到小
		{
			for(j=0;j<m[i]-g-1;j++)
			{
				if(a[j]<a[j+1])
				{
					k=a[j];a[j]=a[j+1];a[j+1]=k;
					k=b[j];b[j]=b[j+1];b[j+1]=k;
				}
			}
		}
		for(j=0;j<m[i];j++)									//a[]一样时排b[]
		{
			if(a[j]==a[j+1]&&b[j]<b[j+1])
			{
				k=b[j];b[j]=b[j+1];b[j+1]=k;		
			}
		}
		
		for(g=0;g<n[i];g++)
		{
			for(j=0;j<m[i];j++)
			{
				if(a[g]==a1[j]&&b[g]==b1[j])
					x[i].s[g]=j+1;
			}
		}		
	}



	for(i=0;i<t;i++)
	{
		for(j=0;j<n[i];j++)
		{
			printf("%d ",x[i].s[j]);
		}
		printf("\n");
	}
}

Double click to view unformatted code.


Back to problem 5