比赛 20111110 评测结果 AAAAAAAAAA
题目名称 韩国明星 最终得分 100
用户昵称 TBK 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-11-10 10:31:57
显示代码纯文本
#include <iostream>  
#include <fstream>
#include <cstdio>   
#include <cstdlib>   
#include <cmath>   
#include <cstring>   
#include <string>   
#include <algorithm>   
#include <iomanip>   
using namespace std;  
struct fun
{
	char str[100];
	long long x;
}f[200000]={0};
int a,b,c,d,l,m,n,k;
string s;
char ch[100000][100];
int Compare(const void *elem1,const void *elem2)
{
	struct fun *elem3 = (struct fun *)elem1;
	struct fun *elem4 = (struct fun *)elem2;
	return strcmp(elem3->str,elem4->str);
}
int Compare1(const void *elem1,const void *elem2)
{
	struct fun *elem3 = (struct fun *)elem1;
	struct fun *elem4 = (struct fun *)elem2;
	return elem4->x -elem3->x;
}
int main(void)   
{   
    freopen ("star.in","r",stdin);
	freopen ("star.out","w",stdout);
	cin>>a;
	for (b=0;b<a;b++) cin>>f[b].str;
	cin>>c;
	for (b=a;b<a+c;b++)
	{
		cin>>f[b].str;
		cin>>f[b].x;
	}
	qsort(f,a+c,sizeof(fun),Compare);
	k=0;
	for (b=1;b<a+c;b++)
	{
		if (strcmp(f[k].str,f[b].str)==0) f[k].x+=f[b].x;
			else 
			{
				k++;
				for (d=0;d<strlen(f[k-1].str);d++) f[k].str[d]='\0'; 
				for (d=0;d<strlen(f[b].str);d++) f[k].str[d]=f[b].str[d];
				f[k].x=f[b].x;
			}
	}
	qsort(f,a,sizeof(fun),Compare1);
	for (b=0;b<a;b++)
		cout<<f[b].str<<endl<<f[b].x<<endl;
    fclose(stdin);
	fclose(stdout);
    return 0;   
}