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: 5ms
Memory: 1200kB
Author: qmj565866105
In contest: 1043

#include<stdio.h>
#include<string.h>
struct nick {
    char name1[110];
    int score;
};
void mysort(struct nick a[],int n) 
{
    int i,j;
    struct nick  t;
    for(i=1; i<n; i++)
    {
        for(j=0; j<n-i; j++)
            if(a[j+1].score>a[j].score) 
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
    }
}
int main() {
	struct nick nickArray[1010];
	int n, m, len;
	char name2[1010][110];
	int i, j, k, t;
	
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d", nickArray[i].name1, &nickArray[i].score);

	mysort(nickArray,n);

	

	scanf("%d",&m);
	for(i=0;i<m;i++)
		scanf("%s", name2[i]);

	for(i=0;i<m;i++) {
		for(k=0;k<n;k++) {
			len=strlen(nickArray[k].name1);
			for(j=0;j<len-1;j++) {
				if(name2[i][j]==nickArray[k].name1[j]&&j==len-2) {
					for(t=k;t>=0;t--){
						if(t==0) {
							printf("0\n");
							break;
						}
						else if(nickArray[t].score>nickArray[k].score) {
							printf("%d\n",t+1);
							break;
						}
					}
				}
				else if(name2[i][j]!=nickArray[k].name1[j])
					break;
			}
		}
	}

			
			return 0;
}