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: 2ms
Memory: 1204kB
Author: 2015210402029
In contest: 1043

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
struct student{
	char name[105];
	int rank;
	int score;
};
int  cmp(student a,student b){
	return a.score>b.score;
}
int main(){
	struct student a[1005];char c;char cha[1001][105]={'\0'};
	int n,i,j,m,t=0;
	scanf("%d",&n);
	
	for(i=0;i<n;i++){
		
			
			scanf("%s",a[i].name);
		scanf(" %d",&a[i].score);
		a[i].name[strlen(a[i].name)-1]='\0';
	}
	
	sort(a,a+n,cmp);
	for(i=0;i<n;i++)
		a[i].rank=i+1;
	for(i=0;i<n-1;i++){
		if(a[i].score==a[i+1].score)
			a[i+1].rank=a[i].rank;

	}
	scanf("%d",&m);
	for(i=0;i<m;i++){
		scanf("%s",cha[i]);
	}
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			if(strcmp(a[j].name,cha[i])==0){
				printf("%d\n",a[j].rank-1);break;
		}
		}
	}
	return 0;
}