Start: Dec, 27, 2015 17:15:00
2015年秋学期《程序设计基础》第三次上机考试
End: Dec, 27, 2015 20:45:00
Time elapsed:
Time remaining:

Problem_ID: G
Result: Accepted
Time: 3ms
Memory: 1092kB
Author: 2015210405005
In contest: 1043

#include<stdio.h>
#include<string.h>
 int main()
 {
	int j,i,n,m,o,max=0,t,xuhao,p=0;
	char a[1000][101],b[1000];
	int grade[1000],num[1000],mingci[1000];
	scanf("%d",&n);
	i=0;
	while(i<n)
	{
		scanf("%s %d",a[i],&num[i]);
		i++;
	}
	for(i=0;i<n;i++)
	{
		grade[i]=num[i];
	}
	for(j=n;j>0;j--)
	{
		max=0;
		for(i=0;i<j;i++)
		{
			
			if(max<=grade[i])
			{
				max=grade[i];
				xuhao=i;
			}
		}
		t=grade[j-1];
		grade[j-1]=grade[xuhao];
		grade[xuhao]=t;
	}
	for(j=n-1;j>=0;j--)
	{
		for(i=0,p=0;i<n;i++)
		{
			if(num[i]==grade[j])
			{
				mingci[i]=n-j;
				p++;
			}
		}
		j=j-p+1;
	}
	scanf("%d",&m);
	for(i=0;i<m;i++)
	{
		scanf("%s",b);
		for(j=0;j<n;j++)
		{
			for(o=0;o<strlen(b);o++)
			{
				if(a[j][o]!=b[o])
				{
					break;
				}
				if(o==strlen(b)-1)
				{
					printf("%d\n",mingci[j]-1);
				}
			}
		}
	}
 }