比赛 20111110 评测结果 AAAATTTTTT
题目名称 韩国明星 最终得分 40
用户昵称 王者自由 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-10 08:59:17
显示代码纯文本
#include <cstdio>
#include <cstdlib>
#include <cstring>
struct star {
    char s[256];
    int d;
} a[100010];
int n, k, t, l;
char c[256];
int find(char c[]) {
    for(int i=0; i<n; i++)
        if(strcmp(c, a[i].s) == 0)
            return i;
    return n;
}
inline int cmp(const void *a, const void *b) {
    star aa = *(star*)a, bb = *(star*)b;
    return bb.d - aa.d;
}
int main() {
    freopen("star.in","r",stdin);
    freopen("star.out","w",stdout);
    scanf("%d\n", &n);
    for(int i=0; i<n; i++) {
        scanf("%s\n", a[i].s);
        a[i].d = 0;
    }
    scanf("%d\n", &k);
    for(int i=0; i<k; i++) {
        scanf("%s\n%d\n", c, &t);
        l = find(c);
        a[l].d += t;
    }
    qsort(a, n, sizeof(a[0]), cmp);
    for(int i=0; i<n; i++)
        printf("%s\n%d\n", a[i].s, a[i].d);
    return 0;
}